[英]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.