gpt4 book ai didi

javascript:从 GM 脚本调用嵌入式函数

转载 作者:行者123 更新时间:2023-11-29 22:40:05 25 4
gpt4 key购买 nike

网页上有

<script>
function fn982734()
{
// some code
}
</script>

在我的 Greasemonkey 脚本中,我有以下代码:

var fn = fields[5].getElementsByTagName("a")[0].getAttribute('onclick').substr(7,11);
console.log(fn); // outputs fn982734 to the firebug console
window[fn]();

此代码不起作用,并在错误控制台中产生错误:window[fn] 不是函数。然而,直接输入 Firebug :

var fn = 'fn982734';
window[fn]();

完美运行。怎么回事?

最佳答案

Greasemonkey 脚本位于沙箱内,而 Firebug 则没有。请参阅:"Avoid Common Pitfalls" (in Greasemonkey) .

您的 GM 脚本将通过 unsafeWindow 访问该函数。像这样:

unsafeWindow.fn982734();

.
或者,

var fn = 'fn982734';
unsafeWindow[fn]();

也有效——在 Greasemonkey 脚本中。

关于javascript:从 GM 脚本调用嵌入式函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3254112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com