12

के लिए सही ढंग से काम नहीं कर रहा onbeforeunload मैं कुछ समय के लिए इस कोड का उपयोग किया गया है और यह ठीक है जब तक काम किया कल:क्रोम

window.onbeforeunload = function() { 
    return "¡Atención! Si continúas no podrás volver atrás y podrías perder datos. Revisa todos los campos y termina el trabajo antes de moverte de esta página. ¿Seguro que quieres continuar?"; 
} 

समस्या अब है कि क्रोम इस से पता चलता है:

Chrome screenshot

Edge screenshot

:

लेकिन एज यह सही रास्ता दिखाता है

मैं क्या गलत कर रहा हूँ?

नोट: भाषा समस्या नहीं है क्योंकि मैंने अंग्रेजी और स्पेनिश दोनों के साथ प्रयास किया है।

उत्तर

19

आप कुछ भी गलत नहीं कर रहे हैं। Google ने मोज़िला के काम करने का निर्णय लिया है और अब आपको एक कस्टम संदेश दिखाने की अनुमति नहीं देता है। यह took effect in Chrome 51 है।

आपको अभी भी अंतर्निहित संवाद को ट्रिगर करने के लिए कुछ वापस करने की आवश्यकता है, लेकिन अब आपको यह निर्धारित करने की अनुमति नहीं है कि वह संवाद क्या कहता है।

Here's the BugZilla entry जहां मोज़िला ने फ़ायरफ़ॉक्स में ऐसा करने का निर्णय लिया।

Here's the Chrome issue जहां Google ने क्रोम में ऐसा करने का निर्णय लिया।

* (नई क्रोम 51 व्यवहार reported as a bug था, लेकिन स्वाभाविक रूप से यह घंटे के भीतर बंद हो गया के रूप में यह डिजाइन द्वारा है।)

+1

+1। जब मैंने शुरुआत में ओपी के कोड को चलाने की कोशिश की, तो यह [इस उदाहरण] (http://jsbin.com/sozeco/edit?js ,output) में अपेक्षित के रूप में काम किया, हालांकि 51.0.2704.84 को अपडेट करने के बाद, अब यह अपेक्षित संदेश लौटाता है । –