2012-12-22 8 views
5

मैं जावास्क्रिप्ट/HTML का उपयोग कर Windows 8 ऐप्स और iframe के भीतर मैं एक Paypal फार्म का है:WinJS iframe विंडोज 8 ऐप से पेपैल में पोस्ट कैसे फॉर्म करें?

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank"> 
<input type="hidden" name="cmd" value="_s-xclick"> 
<input type="hidden" name="on0" value="Pages"> 
<select name="os0"> 
    <option value="10">$1.95</option> 
    <option value="25">$2.95</option> 
</select> 
<input type="hidden" name="currency_code" value="USD"> 
<input type="hidden" name="encrypted" value="[removed]"> 
<input type="image" src="/btn_buynow_LG.gif" border="0" name="submit" alt=""> 
</form> 

यह फार्म IE10 लेकिन सहित सभी ब्राउज़रों में पूरी तरह से ठीक काम करता है जब Windows में iframe के भीतर से प्रस्तुत 8 ऐप, यह उपयोगकर्ता को पेपैल होमपेज पर ले जाएगा। यह आम तौर पर फॉर्म के साथ एक मुद्दा इंगित करता है। मैंने पेपैल बटन, एन्क्रिप्टेड, अन-एन्क्रिप्टेड बटन होस्ट किए हैं और वे सभी एक ही व्यवहार प्रदर्शित करते हैं। केवल जब मैं इस फॉर्म को विंडोज 8 ऐप के भीतर से सबमिट करता हूं तो यह Paypal.com मुखपृष्ठ पर जाता है।

<ApplicationContentUriRules> 
<Rule Match="http://example.com" Type="include" /> 
<Rule Match="http://*.example.com" Type="include" /> 
<Rule Match="http://paypal.com" Type="include" /> 
<Rule Match="http://*.paypal.com" Type="include" /> 
<Rule Match="https://paypal.com" Type="include" /> 
<Rule Match="https://*.paypal.com" Type="include" /> 
</ApplicationContentUriRules> 

मैं बहुत की तरह जोड़ने/सैंडबॉक्स विशेषता को दूर करने और जोड़ने गुण के सभी संयोजनों की कोशिश की:

<iframe sandbox="allow-same-origin allow-top-navigation allow-forms allow-scripts allow-popups" src="http://example.com/paypalbtn.html"></iframe> 

मैं भी अनुमति दी यूआरएल के रूप में मेरी प्रकट करने के लिए हर URL जोड़ने की कोशिश की है अगर मैं target="_blank" हटा देता हूं तो विंडोज 8 ऐप एक ब्लैक स्क्रीन पर नेविगेट करेगा और लटका होगा। मुझे alt-tab पर मजबूर होना पड़ा और ऐप को बंद करना पड़ा। मुझे लगता है कि यह किसी अन्य प्रक्रिया में एक नई विंडो में फॉर्म पोस्ट के साथ एक समस्या है।

मैं विंडोज 8 ऐप के आईफ्रेम के भीतर से पेपैल कैसे लॉन्च कर सकता हूं?

एक फॉर्म पोस्ट आवश्यक है? अब मैं यह महसूस कर रहा हूं कि एक फॉर्म काम करता है।

+1

मुझे लगता है कि कि payapal आइफ्रेम प्रपत्र सबमिट –

+1

@SVarun सही है का समर्थन नहीं करता। इस मुद्दे को [यहां इस धागे] द्वारा कवर किया गया है (http://stackoverflow.com/questions/9464173/embed-paypal-in-an-iframe)। जाहिर है, यह एक सुरक्षा उपाय है। –

उत्तर

2

पेपैल विंडोज 8 ऐप में आईफ्रेम से लॉन्च होने पर नई विंडो में फॉर्म पोस्ट को अवरुद्ध कर देगा। नतीजा यह है कि आप खरीद ऑर्डर फॉर्म के बजाय पेपैल होमपेज देखते हैं।

मैं पुष्टि कर सकता है कि बस GET के रूप विधि स्विच और एक target="_blank" काम करता है पूरी तरह से उपयोग करते हुए इस मुद्दे को बिना: iframe के भीतर इस समस्या के लिए एक अन्य तरीका

<form action="https://www.paypal.com/cgi-bin/webscr" method="get" target="_blank"> 

पाठ या एक के चारों ओर एक मानक लंगर टैग का उपयोग करने के लिए है छवि और मैन्युअल रूप से तो जैसे URL बनाने:

<a href="https://www.paypal.com/cgi-bin/webscr?custom=[custom info]&item_name=[URL encoded name]&item_number=[num]&amount=9.95&currency_code=USD&cmd=_xclick&business=[paypal email address]&return=[URL encoded URL]">Buy Now</a> 

इस उत्तर के लिए क्रेडिट Paypal links instead of buttons के बारे में इस पेज को जाता है।

0

मुझे नहीं लगता कि पेपैल iframe समर्थन की अनुमति देता है। वे सबसे अधिक संभावना उपयोग करें:

X-Frame Options

यह उन्हें अगर पेज एक iframe में प्रदान की गई है और यदि ऐसा है तो यह लोड हो रहा है .. रोकने के (उर्फ रिक्त पृष्ठ दिखाई देते हैं) की तरह आप अनुभव कर रहे पता लगाने के लिए अनुमति देता है।

और इसके आसपास कोई रास्ता नहीं है।

+0

हां, मैं पुष्टि कर सकता हूं कि पेपैल 'एक्स-फ्रेम-विकल्प: सैमोरिजिन' का प्रतिक्रिया शीर्षलेख भेजता है। इससे Paypal.com को मेरे आईफ्रेम में प्रस्तुत करने से रोक दिया जाएगा, लेकिन मैं iframe से एक नई विंडो में एक फॉर्म पोस्ट निष्पादित करने का प्रयास कर रहा हूं। Iframe में वह यूआरएल मेरा यूआरएल है, इसलिए example.com एक नई विंडो में paypal.com पर पोस्ट कर रहा है। पोस्ट वैध लगता है लेकिन मुझे लगता है कि पेपैल कुछ मजाकिया और पेपैल होमपेज दिखा रहा है। – Scott

+0

यह कहता है कि पृष्ठ केवल पृष्ठ के समान ही मूल पर एक फ्रेम में प्रदर्शित किया जा सकता है। इसका मतलब है कि नई विंडो अब एक ही मूल नहीं है - या कम से कम यह है कि मैं इसे कैसे समझ रहा हूं। – Sir

+0

यह ठीक है क्योंकि आईप्रेम में पेपैल प्रदर्शित नहीं किया जा रहा है। मुझे लगता है कि मुझे एक नई विंडो में पोस्ट करने में सक्षम होना चाहिए जो एक अलग मूल में है। – Scott

0

मुझे पेपैल और विंडोज स्टोर ऐप के साथ एक ही समस्या थी। मैं तो बस इस सूत्र में समस्या के लिए अपने समाधान पोस्ट:

Windows Store HTML app with popup window

संबंधित मुद्दे