2016-05-17 3 views
5

यहाँ pushState और popstate घटना का एक सरल उदाहरण है:पॉपस्टेट ईवेंट ट्रिगर करते समय मुझे पिछले पृष्ठ का यूआरएल कैसे प्राप्त हो सकता है?

<button id="example_btn">Click me</button> 

<script> 
$("#example_btn").click(function(){ 
      history.pushState( 
       { 
        'url' : "example.htm" 
       }, null, "example.htm"); 
}); 
$(window).bind('popstate', function (event) { 
    if (event.originalEvent.state) { 
     console.log(event.originalEvent.state.url); 
    } 
}); 
</script> 

जब popstate घटना को ट्रिगर, यह मौजूदा पृष्ठ का url को दर्शाता है।

मेरा प्रश्न है:

मैं कैसे पिछले पेज का यूआरएल जब इस मामले में popstate घटना को ट्रिगर मिल सकता है?


पीएस मैंने document.referrer की कोशिश की है लेकिन यह कुछ भी नहीं दिखाया।

उत्तर

0

कृपया पिछले यूआरएल को एक चर में रखने और इसे सुनने का प्रयास करें।

<button id="example_btn">Click me</button> 

<script> 
var previousUrl = null; 
$("#example_btn").on('click', function(){ 
      previousUrl = location.href; 
      history.pushState( 
       { 
        'url' : "example.htm" 
       }, null, "example.htm"); 
}); 
window.onpopstate = function (event) { 
    console.log('Previous url was : ', previousUrl); 
}; 
</script> 
0

PopStateEvent के साथ। मैं

window.history.pushState({} , {} , url); 

अन्य तरीकों से मुझे यकीन नहीं है।

नीचे मैंने इसे काम करने का परीक्षण किया। मुझे मददगार उम्मीद है।

window.addEventListener('popstate', function(e){ 
    console.log(e.srcElement.location); 
    /* You get other location types( 'http://....' or '/index.html' */ 
    var previusUrl = e.srcElement.location.href; 
    console.log(previusUrl); 
    // with http://............ 
}); 
संबंधित मुद्दे

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