这是脚本的代码
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match www.baidu.com
// @grant none
// ==/UserScript==
function ABC(){
alert("");
}
setInterval("ABC()",3000)
运行后控制台里出错误
Uncaught ReferenceError: ABC is not defined
1
yuann72 OP 如果我单独把
function ABC(){ alert(""); } setInterval("ABC()",3000) 几行代码放控制台里运行就一切正常 |
2
pentium100 2016-02-13 12:24:39 +08:00 via Android
试下:
setInterval(ABC,3000) |
3
yuann72 OP @pentium100 我在其他脚本里运行同样情况,相关代码正常运行,但控制台里依旧有 Uncaught ReferenceError: ABC is not defined.....算了不管了
现在问下 setInterval 的正确写法是 setInterval(ABC,3000) 那 setTimeout 的正确写法是 setTimeout(ABC,3000) 还是 setTimeout("ABC()",3000); |
4
ceoimon 2016-02-13 15:45:08 +08:00
@yuann72 setInterval 和 setTimeout 接受的第一个参数可以有三种形式,第一种为函数名,第二种为匿名函数,第三种也是用得最少的一种是直接用语句(双引号包裹,可多条)。
至于 not defined 的问题我猜测是 tampermonkey 会建立自己的命名空间再注册函数以防污染全局变量,所以你无法调用 ABC 函数。 |
5
niceb 2017-11-28 11:05:58 +08:00
请问楼主解决了吗
|