tampermonkey onclick 无效,显示 xxx is not defined

更新日期: 2021-02-02 阅读次数: 154 字数: 162 分类: Tampermonkey

使用 tampermonkey 在当前网页中添加了一个按钮,用于手动触发自动化逻辑。

<button id="tm_btn" onclick="do_something()">开始抢购</button>

do_something 函数,是我在 tampermonkey 脚本中定义的函数。

但是,点击按钮之后,报错:

Uncaught ReferenceError: do_something is not defined
    at HTMLButtonElement.onclick

为何会找不到函数定义

原因是,tampermonkey 运行在一个沙箱环境中,按钮的 onclick 指定的回调函数由于在沙箱中定义,所以无法寻找到。

使用 addEventListener 解决

解决方法,tampermonkey 中为按钮添加事件监听:

document.getElementById("tm_btn").addEventListener("click", do_something);

参考

https://stackoverflow.com/questions/17378199/uncaught-referenceerror-function-is-not-defined-with-onclick

领取阿里云/腾讯云服务器优惠券

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊, 查看更多联系方式。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。同时也欢迎关注我的微信公众号“大象工具”: 大象工具微信公众号

相关文章

爱评论不评论

近期节日

查看更多节日