簡體   English   中英

你如何檢測從 localhost/foo 到 localhost/baa 的變化?

[英]How do you detect a change from localhost/foo to localhost/baa?

您如何檢測從 localhost/foo 到 localhost/baa 事件位置更改和 pushstate 偵聽器不起作用的更改?

路徑正在由路由庫內部更改。

// update doesn't get called
    window.addEventListener('hashchange', update);
    window.addEventListener('pushstate', update);
    window.addEventListener('onpopstate', update);

唯一的另一種方法是手動分派事件(到主體)以讓update函數知道運行

這樣的事情怎么樣:

function doSomehting(newURL) {
    console.log('yep');
}

window.addEventListener('load', function (event) {
  var lastURL = localStorage.getItem('lastURL');
  var newURL = location.href;
  (lastURL && decodeURI(lastURL) != newURL) && doSomehting(newURL);
  localStorage.setItem('lastURL', encodeURI(newURL));
});

您應該在要從中接收事件的每個頁面上加載此腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM