首頁 > web前端 > js教程 > Greasemonkey中如何使用MutationObserver在頁面URL發生變化時執行程式碼?

Greasemonkey中如何使用MutationObserver在頁面URL發生變化時執行程式碼?

DDD
發布: 2024-10-29 03:59:29
原創
406 人瀏覽過

How to Execute Code When the Page's URL Changes with MutationObserver in Greasemonkey?

頁面URL 更改時如何執行代碼

在Greasemonkey 腳本編寫的上下文中,有必要響應頁面URL 的更改高效的URL ( location.href)。若要在不引入逾時或輪詢的情況下實現此目的,請考慮利用 MutationObserver API。

使用MutationObserver 的解決方案

  1. 初始化舊URL:

    <code class="js">var oldHref = document.location.href;</code>
    登入後複製
  2. 初始化舊URL:

    <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>
    登入後複製

最新JavaScript 規範
<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>
登入後複製

對於支援最新簡化瀏覽器,請使用以下的現代簡化瀏覽器,請使用下列語法:透過利用MutationObserver,您可以有效擷取URL 變更並觸發自訂程式碼執行,而無需訴諸不可靠的輪詢技術。

以上是Greasemonkey中如何使用MutationObserver在頁面URL發生變化時執行程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板