Re: [問題] 寫了Firefox腳本 但是onclick無法作用

看板Ajax作者 (人類)時間5年前 (2019/03/25 16:08), 編輯推噓1(100)
留言1則, 1人參與, 5年前最新討論串2/2 (看更多)
※ 引述《orange0319 (喵喵喵)》之銘言: : document.body.onload = addElement; 在 Tampermonkey 環境中,無法保證 script 加入的時機。如果你要監聽 load 事件︰ if (document.readyState === "complete") { addElement(); } else { window.onload = addElement; // 上面的方法可能會和頁面產生衝突,建議用 addEventListener 的形式 // document.addEventListener("load", addElement); } : myhelpbtn1.innerHTML = '<a onclick="toMobio();" >手機版網頁</a>'; 以 `onclick="someFunction()"` 的形式執行 JavaScript,會使得程式碼執行於 global scope。然而,在 userscript 中定義/宣告的函式/變數是存在於 local scope 的,所 以會找不到該變數名。 你可以直接把函式 assign 給該元素︰ myhelpbtn1.innerHTML = "<a>手機版網頁</a>" myhelpbtn1.children[0].onclick = toMobio; -- ▆▄   -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.115.45 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1553501288.A.485.html

03/25 20:21, 5年前 , 1F
感謝大大回應 來試看看!!
03/25 20:21, 1F
文章代碼(AID): #1Sc8neI5 (Ajax)
文章代碼(AID): #1Sc8neI5 (Ajax)