मैं एक iframe के अंदर एक फार्म है। जैसे ही उपयोगकर्ता ने डेटा सहेजा मैं iframe को एक ऐसे पृष्ठ पर पुनर्निर्देशित करता हूं जो मुख्य पृष्ठ को फिर से लोड करने के अलावा और कुछ नहीं करता है (जैसा कि कुछ अन्य सामग्री iframe के अंदर डाली गई सामग्री पर निर्भर करती है)। तो iframe ist के बाहर का डेटा अपडेट हो जाता है और फॉर्म फिर से दिखाई देना चाहिए।
समस्या: कम से कम फ़ायरफ़ॉक्स (हेवन "ने अभी तक अन्य ब्राउज़रों में इसका परीक्षण नहीं किया है) पुनर्निर्देशित पृष्ठ के साथ iframe के" नए "url को रखता है न कि वह जो सोर्सकोड द्वारा सेट किया गया है। इनपुट फ़ील्ड के साथ स्वत: पूर्णता के समान कुछ।
मैं द्वारा पुनः लोड करता हूं
parent.location.reload();
हो सकता है कि इसमें शामिल इफराम के इतिहास से कोई जानकारी न रखते हुए एक वास्तविक पुनः लोड करने के लिए मजबूर करने का एक तरीका है?
btw: अगर यह मदद करता है तो मैं jQuery का उपयोग कर सकता हूं।
धन्यवाद।
उत्तर:
उत्तर № 1 के लिए 1आप इन पंक्तियों के साथ कुछ आज़मा सकते हैं (http://jsfiddle.net/AKykZ/):
document.querySelector("button").addEventListener("click", function() {
document.querySelector("iframe").setAttribute("src", document.querySelector("iframe").getAttribute("src"));
window.top.location.reload();
return false;
}, false);
फिडेल में, iframe में लिंक पर क्लिक करें, और पुनः लोड बटन दबाएं। ऐसा लगता है कि आप "आइफ्रेम से पुनः लोड कर रहे हैं, लेकिन यह कम से कम आपको सही रास्ते पर लाना चाहिए।
जवाब के लिए 0 № 2
समाधान मिल गया। यह बहुत मज़ेदार है लेकिन फिर से लोड कर रहा है
parent.location.href = parent.location.href;
इतिहास को रखे बिना पृष्ठ का एक नया पुनः लोड करता है। हेवन "ने हालांकि अन्य ब्राउज़रों में इसका परीक्षण नहीं किया है।