चेतावनी क्योंhistory.pushState 'popstate' घटना
$(function() {
$(window).bind('popstate', function() {alert('pop');});
window.history.pushState(null, '', '/foo');
});
नहीं है pop
को गति प्रदान नहीं करता है?
एनबी: परीक्षण नवीनतम क्रोम
पर -
MDN के अनुसार:
एक popstate घटना हर बार खिड़की भेजा जाता है सक्रिय इतिहास प्रविष्टि बदल जाता है। यदि इतिहास प्रविष्टि सक्रिय की जा रही है तो पुस्टस्टेट या कॉल को प्रतिस्थापित करने के लिए कॉल द्वारा प्रभावित किया गया है, तो पॉपस्टेट ईवेंट की राज्य संपत्ति में इतिहास प्रविष्टि की स्थिति वस्तु की एक प्रति होती है।
तो मेरा pushState
क्यों popstate
ईवेंट ट्रिगर नहीं करता है?
पॉपस्टेट भी ट्रिगर होता है जब उपयोगकर्ता आगे बटन दबाता है। – circuitry
पुशस्टेट पॉपस्टेट ट्रिगर करता है! इसलिए "सक्रिय इतिहास प्रविष्टि में हर बार विंडो में एक पॉपस्टेट ईवेंट भेजा जाता है"! –
@AlexGill क्या आपके पास एक परीक्षण-केस है जो इस व्यवहार को प्रदर्शित करता है? कुछ ऐसा: ' window.onpopstate = function (e) {alert ('popstate'); } history.pushState (शून्य, ''); ' –