作者eight0 (人类)
看板Ajax
标题Re: [问题] 写了Firefox脚本 但是onclick无法作用
时间Mon Mar 25 16:08:04 2019
※ 引述《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://webptt.com/cn.aspx?n=bbs/Ajax/M.1553501288.A.485.html
1F:推 orange0319: 感谢大大回应 来试看看!! 03/25 20:21