2009-01-28 17 views
5

मेरे पास एक पृष्ठ है जहां मैं एक "मोडल विंडो" खोलता हूं। यह वास्तव में सिर्फ एक डीआईवी है, जिसमें आईएफआरएएम अंदर है, जहां मैं एक और पेज लोड करता हूं। जब मैं पृष्ठ को रीफ्रेश करना चाहता हूं, तो ब्राउज़र एक विंडो खोलता है, "क्या आप वाकई इस पृष्ठ से दूर नेविगेट करना चाहते हैं? इस पृष्ठ को फिर से लोड करने से मोडल विंडो गायब हो जाएगी। जारी रखने के लिए ठीक दबाएं, या रहने के लिए रद्द करें वर्तमान पृष्ठ।"ब्राउज़र में जेनरेट किए गए "क्या आप वाकई इस पृष्ठ से दूर नेविगेट करना चाहते हैं?"

यह संदेश कैसे उत्पन्न होता है? ब्राउज़र कैसे पता लगाता है कि मेरे पास एक मोडल विंडो है, क्योंकि मैं जावास्क्रिप्ट से किसी भी window.open() कॉल का उपयोग नहीं करता? ब्राउज़र के इस व्यवहार को अक्षम करने का कोई तरीका है।

+1

मुझे बताएं कि आप किस साइट पर काम कर रहे हैं ताकि मैं इससे बच सकूं। – finnw

+3

erm, stackoverflow यह करता है! और, और भी, पृष्ठ पर लिखे गए परिवर्तनों को खोने से बचने के लिए यह एक अच्छी बात है। – Peter

+0

अपनी ब्राउज़र सेटिंग्स में जावास्क्रिप्ट को अक्षम करें। – Suncat2000

उत्तर

3

यह IFRAME में लोड किए गए पृष्ठ के स्रोत में body.onunload हो सकता है।

मोडल विंडो अनिवार्य रूप से एक IFRAME है, फिर जब आप बंद (या ताज़ा करें) मुख्य विंडो, ब्राउज़र जानता है कि यह है कि IFRAME, कि IFRAME आग में इसलिए किसी भी body.onunload मार रहा है।

+0

आप सही हैं। असल में मैं विकेट ढांचे के साथ काम कर रहा हूँ और मैं अपने स्रोत कोड में खोज की, और देखो मैं क्या पाया: window.onbeforeunload = function() {\t \t \t वापसी "इस पृष्ठ को पुन: लोड मोडल विंडो गायब हो जाएगा।" ; } \t \t \t \t सौभाग्य से इसे आसानी से अक्षम किया जा सकता है। धन्यवाद! – Gabriel

0

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

यदि आप उस व्यवहार को पट्टी करना चाहते हैं, तो आप बाहरी लिंक के लिए सभी क्लिक ईवेंट हटा सकते हैं।

1

यदि आपके पास कोई फ़ंक्शन है जो ऑनबॉर्नलोड लोड करता है, फ़ायरफ़ॉक्स संदेश स्वचालित रूप से जेनरेट किया जाता है।

आप इसे अपने हैंडलर पर नल लौटकर अक्षम कर सकते हैं।

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