2013-02-07 87 views
5

मैं ब्राउज़र के कंसोल में इस कोड को टाइप करने के लिए कोशिश की है काम नहीं कर घटना:बाध्यकारी popstate

window.onpopstate = function() {alert(1);} 

और फिर वापस बटन पर क्लिक करें। कोई चेतावनी नहीं दिखाई गई है। क्या मैं कुछ गलत कर रहा हूं? या क्या इसे पॉपस्टेट ईवेंट को कंसोल से किसी पृष्ठ पर बांधने की अनुमति नहीं है?

सांत्वना

window.onpopstate = function() {alert(1);}; history.pushState({}, ''); 

में क्रोम 24 और Firefox 18

उत्तर

10

प्रकार इस का उपयोग करते हुए फिर वापस बटन पर क्लिक करें।

+0

तुम क्यों जोड़ा history.pushState() हिस्सा व्याख्या कर सकते हैं? – Phuein

+1

@hhuein history.pushState() एक नया इतिहास प्रविष्टि का यूआरएल दबा रहा है। ब्राउजर परवाह नहीं है कि यह एक वैध यूआरएल है, और यह नए यूआरएल का उपयोग कर पेज को पुनः लोड नहीं करता है। चूंकि आपूर्ति की गई नई यूआरएल खाली है, पता बार में यूआरएल नहीं बदलता है, लेकिन जब आप बैक बटन पर क्लिक करते हैं तो अलर्ट ट्रिगर होता है। –

3

मैं इस प्रकार popstate श्रोता जोड़ने पसंद करते हैं, तो के रूप में क्या पहले से ही window.onpopstate में है की ओवरराइटिंग को रोकने के लिए:

window.addEventListener('popstate', function(){alert(1);}); 

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

  • कोई संबंधित समस्या नहीं^_^