頁面URL 更改時如何執行代碼
在Greasemonkey 腳本編寫的上下文中,有必要響應頁面URL 的更改高效的URL ( location.href)。若要在不引入逾時或輪詢的情況下實現此目的,請考慮利用 MutationObserver API。
使用MutationObserver 的解決方案
初始化舊URL:
<code class="js">var oldHref = document.location.href;</code>
<code class="js">window.onload = function() { var bodyList = document.querySelector('body'); var observer = new MutationObserver(function(mutations) { if (oldHref != document.location.href) { oldHref = document.location.href; /* Execute your code here */ } }); var config = { childList: true, subtree: true }; observer.observe(bodyList, config); };</code>
<code class="js">const observeUrlChange = () => { let oldHref = document.location.href; const body = document.querySelector('body'); const observer = new MutationObserver(mutations => { if (oldHref !== document.location.href) { oldHref = document.location.href; /* Execute your code here */ } }); observer.observe(body, { childList: true, subtree: true }); }; window.onload = observeUrlChange;</code>
以上是Greasemonkey中如何使用MutationObserver在頁面URL發生變化時執行程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!