「Userscript」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
Gslin留言 | 貢獻
Gslin留言 | 貢獻
第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