瀏覽器偵測網址改變, detect url change in browser javascript
網路上很多說法是用 popstate
event
如果用AJAX (XHR)更新網頁內容,再用 history.pushState() 更新網址會抓不到
解法1 定期檢查
用 setInterval() 去定期檢查 window.location.href,消耗不必要的資源
解法2 事件驅動
透過browser extension去接收 tabs.onUpdated event
這個event只能在background page中收到,再透過tabs.sendMessage()丟去content script 的runtime.onMessage就能對網頁內容作處理了
webNavigation
webRequest
在某些情況也可以用來解決AJAX更新網頁的偵測
我不想在extension要太多權限就用,manifest_version 3新加的 host_permissions限定只對目標網域處理
host_permissions
似乎在多數browser是optional permission...不能指定有點麻煩
留言
張貼留言