2011-03-18 19 views
8

के भीतर से पैरेंट विंडो पुनः लोड करें मेरे पास एक आईफ्रेम में मेरा लॉगिन पेज है और बिना किसी रीफ्रेश किए बिना iframe के भीतर AJAX और jquery का उपयोग करके पैरेंट विंडो को फिर से लोड करना चाहता है, लेकिन मुझे इस एक आईफ्रेम

 
(this[0].ownerDocument || this[0]).createDocumentFragment is not a function
जैसी त्रुटियां मिल रही हैं कृपया मदद करें!

उत्तर

33

मैं जावास्क्रिप्ट का उपयोग कर

parent.location.reload(); 

तो मैं लक्ष्य आइफ्रेम

$("#log-inout").trigger("click"); 

मैं एक अजीब हालत के लिए इस तरह के सिस्टम की आवश्यकता है खोलने के लिए एक ट्रिगर निकाल पृष्ठ पुनः लोड करने से इस लक्ष्य को हासिल कर सकते हैं। यह दूसरों को समान स्थितियों में मदद कर सकता है।

+5

यह केवल तभी काम करता है जब आप एक ही स्थान से दोनों विंडो लोड करते हैं। अन्यथा, ब्राउजर फिर से लोड करने से इंकार कर देता है क्योंकि यह "मूल उत्पत्ति नीति" का उल्लंघन है। यह वर्ट-जन द्वारा parent.location.href उत्तर पर लागू होता है। – Pavel

3

परेशान न करें! यदि आप AJAX का उपयोग कर रहे हैं तो iframes का उपयोग क्यों करें।

बस का उपयोग कर

$ ("जहाँ तुम यहाँ सामग्री लोड करना चाहते हैं") लॉगिन लोड लोड ("में आपके द्वारा iframe की src")।

//load via ajax 
$("div").load("login.php"); 

अधिक सरल और बहुत अधिक सुरुचिपूर्ण।

+0

मैं वास्तव में सामग्री (parentwindow) के बाद एक उपयोगकर्ता के प्रवेश को ताज़ा करने के जबकि आइफ्रेम (प्रवेश) –

+0

दिलचस्प विचार पर अब भी है चाहता था , ध्यान देने योग्य! – Andrew

17
parent.location.href=parent.location.href 

parent.location.reload() 

बाद बलों एक पूर्ण पुनः लोड की तुलना में एक चिकनी परिणाम पहले लगभग ajax की तरह अधिक प्रभावी ढंग से अद्यतन करने के लिए लगता है, जबकि देता है।

+0

hhm ... धन्यवाद! –

+5

यदि आप पैरेंट डोमेन इस तरह से iframe डोमेन से अलग हैं तो आप ऐसा नहीं कर सकते हैं। "प्रोटोकॉल, डोमेन, और बंदरगाहों का मिलान होना चाहिए।" –

0

आप उपयोग कर सकते हैं:

window.parent.location.href = "Create?Param=value"; 

या:

window.parent.location.href = "http://www.stackoverflow.com"; 
संबंधित मुद्दे