iframe IE में आईफ़्रैम के माध्यम से पैरामीटर को पारित करने में समस्या




get cross-browser (5)

मैं अपनी वेबसाइट से किसी अन्य वेबसाइट पर एक HTTP GET निष्पादित करने की कोशिश कर रहा हूं जो आईफ्रेम के माध्यम से लाया जाता है।

फ़ायरफ़ॉक्स पर, आप स्रोत में देख सकते हैं कि सही यूआरएल iframe src में सही पैरामीटर के साथ है - और यह काम करता है।

आईई पर, आप स्रोत में देख सकते हैं कि सही यूआरएल iframe src में सही पैरामीटर के साथ है - और यह काम नहीं करता है ...

IE के बारे में कुछ ऐसा है जो आपको क्वेरी के जरिए एक आइफ्रेम के माध्यम से पैरामीटर नहीं देता है?

मैंने आईआरएफ़ में आइफ्रेम को रीफ़्रेश करने की कोशिश की है, मैंने अपने पेज और आईफ्रेम में रीफ्रेश करने की कोशिश की है, और मैंने यूआरएल कॉपी करने की कोशिश की है और इसे iframe src (इसे रीफ्रेश करने के लिए मजबूर कर रहा है जैसे कि मैंने अभी प्रवेश किया है उस आइफ्रेम विंडो के लिए एड्रेस बार में) अभी भी कोई भाग्य नहीं है!

किसी को पता है कि यह क्यों हो रहा है, या इस बारे में जानने के लिए कोई सुझाव है?

संपादित करें: मैं इस पर एक लिंक नहीं दे सकता क्योंकि साइट को पासवर्ड की आवश्यकता है और हमारी साइट और हमारे विक्रेता की साइट दोनों के लिए क्रेडेंशियल लॉगिन करना है। हालांकि मैं हमारी साइट पर टेस्ट अकाउंट बना सकता हूं, यह परीक्षण प्रक्रिया के लिए कोई अच्छा काम नहीं करेगा क्योंकि मैं वेंडर साइट के लिए ऐसा नहीं कर सकता। कोड के लिए, यह सब कर रहा है पेज लोड पर बैकएंड कोड से src को बनाने और बैक एंड से src ऍट्रिब्यूट को सेट करना ...

//Backend code to set src
mainIframe.Attributes["src"] = srcWeJustCreated;

//Front end iframe code
<iframe id="mainIframe" runat="server" />

संपादित करें: समस्या कभी हल नहीं हुई थी जवाब ऑटो स्वीकार कर लिया क्योंकि उपहार का समय समाप्त हो गया। मैं इस प्रश्न को और अधिक जानकारी और पृष्ठ पर एक लिंक के साथ फिर से पूछूंगा जब हमारी साइट लाइव होने के करीब है।

धन्यवाद,
मैट


अप्रत्यक्ष विधि का उपयोग करने की कोशिश करें एक फॉर्म बनाएं अपने एक्शन पैरामीटर को उस बेस यूआरएल में सेट करें जिसे आप नेविगेट करना चाहते हैं। अपनी विधि पोस्ट करने के लिए सेट करें अपने iframe पर इसका लक्ष्य निर्धारित करें और फिर आवश्यक पैरामीटर को छिपे हुए आदानों के रूप में बनाएं। अंत में, फ़ॉर्म सबमिट करें यह काम करना चाहिए क्योंकि यह डाक के साथ काम करता है


आईई क्वेरी मापदंडों में डिफ़ॉल्ट सुरक्षा सेटिंग्स द्वारा IFrames में अवरोधित हैं I इंटरनेट विकल्प के तहत सुरक्षा टैब पर आपके सुरक्षा स्तर को निम्न स्तर पर सेट किया गया है। यदि यह आपकी समस्या को हल करता है तो आपको पता है कि आपका मुद्दा है यदि साइट बाहरी ग्राहकों के लिए है तो उन्हें अपनी सुरक्षा सेटिंग बंद करने की उम्मीद करना संभवतः अनुचित है, इसलिए आपको आसपास काम मिलना पड़ सकता है।


क्या BYK ने कहा। मुझे लगता है कि क्या हो रहा है क्या आप उस यूआरएल को प्राप्त कर रहे हैं जो IE को संभालना है मुझे लगता है कि आप नामित चर नाम भेजने की कोशिश कर रहे हैं, जो संभवतः बहुत लंबा है, 4k से अधिक मैं पहले इस समस्या में भाग गया, और यह मेरा कोड था IE के बारे में टिप्पणी की सूचना दें यह भी ध्यान दें कि फ़ायरफ़ॉक्स के साथ एक समस्या का कारण बनता है, जो कि एक और टिप्पणी में संबोधित है

var autoSaveFrame = window.frames['autosave'];
// try to create a temp form object to submit via post, as sending the browser to a very very long URL causes problems for the server and in IE with GET requests.
var host = document.location.host;
var protocol = document.location.protocol;
// Create a form
var f = autoSaveFrame.document.createElement("form");
// Add it to the document body
autoSaveFrame.document.body.appendChild(f);
// Add action and method attributes
f.action = protocol + '//' + host + "/autosave.php"; // firefox requires a COMPLETE url for some reason! Less a cryptic error results!
f.method = "POST"
var postInput = autoSaveFrame.document.createElement('input');
postInput.type = 'text'
postInput.name = 'post';    
postInput.value = post;
f.appendChild(postInput);
//alert(f.elements['post'].value.length);
// Call the form's submit method
f.submit();


मान लें कि आपकी साइट www.acme.com है और iframe स्रोत www.myvendor.com पर है

IIRC, अधिकांश डोमेन-स्तरीय सुरक्षा सेटिंग्स होस्ट नाम के बारे में परवाह नहीं करते हैं, इसलिए अपने ज़ोन फ़ाइल में myvendor.acme.com के लिए एक DNS CNAME जोड़ें, www.myvendor.com पर वापस दिये गये । फिर, आपके IFRAME में, अपने होस्टनाम उपनाम का उपयोग करके स्रोत सेट करें

एक अन्य समाधान हो सकता है कि आपका जावास्क्रिप्ट एसआरसी को अपने खुद के सर्वर पर एक पुनर्निर्देशक स्क्रिप्ट पर सेट करें (और, इस प्रकार, आपके डोमेन के भीतर)। आपकी स्क्रिप्ट तब केवल IFRAME को एक ही पैरामीटर के साथ "सही" यूआरएल पर रीडायरेक्ट करेगी।





http-get