「Userscript」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
本頁面具有訪問限制。如果您看見此訊息,這代表您沒有訪問本頁面的權限。
→‎SPA
→‎SPA
行 12: 行 12:


<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
let ob = new window.MutationObserver(events => {
let ob = new window.MutationObserver(mutations => {
    events.forEach(ev => {
    mutations.forEach(mutation => {
      ev.addedNodes.forEach(node => {
      mutation.addedNodes.forEach(node => {
        // Uninstall
        // Uninstall
        ob.disconnect();
        ob.disconnect();

於 2021年5月23日 (日) 16:27 的修訂

Userscript是一個讓開發者更容易操作(與修改)網頁的方式,通常是以JavaScript撰寫。

軟體

目前推薦使用開源的Violentmonkey,支援Chromium系列瀏覽器,以及Firefox瀏覽器。

範例

SPA

對於SPA類常用的方式,聽HTML元素的事件(這邊是聽document元素,可以自己考慮聽更小的範圍):

let ob = new window.MutationObserver(mutations => {
    mutations.forEach(mutation => {
        mutation.addedNodes.forEach(node => {
            // Uninstall
            ob.disconnect();
        });
    });
});

ob.observe(document, {
    childList: true,
    subtree: true,
});

外部連結

Hosting