gpt4 book ai didi

greasemonkey - 为什么全局变量突然可用于 Greasemonkey 和 Tampermonkey 脚本?

转载 作者:行者123 更新时间:2023-12-04 04:36:09 26 4
gpt4 key购买 nike

最近在写一个用户脚本时,我发现页面上下文中的变量是可用的。
console.log(window) 在 Tampermonkey 和 Greasemonkey 中都没有导致错误。

我很困惑。全局变量不应该只能通过 unsafeWindow 访问吗?

最佳答案

全局变量仅在 @grant none 模式下可用。 As of Greasemonkey 2.0 (June 17, 2014), @grant none mode became the default. Tampermonkey 迅速效仿,以保持兼容性。

如果您从来没有使用 @grant 的习惯,这看起来像是最近的(意外的)更改。

您现在应该始终使用 the @grant directive以便您了解脚本运行的模式。

我还推荐至少使用@grant GM_addStyle,除非在极少数情况下@grant none 是合适的。这避免了意想不到的冲突和副作用,并且最接近脚本过去的工作方式和仍在运行的脚本引擎数量。 (也就是说,这样的脚本更可靠,跨平台兼容性更好。)

Greasemonkey 处理@grant 的方式现在是a leading causemany , many problems .

关于greasemonkey - 为什么全局变量突然可用于 Greasemonkey 和 Tampermonkey 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065655/

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