javascript - Greasemonkey 和全局变量

标签 javascript greasemonkey userscripts

我不熟悉 JavaScript 和 Greasemonkey,我想编写一个简单的脚本。

我知道 Greasemonkey 使用匿名函数包装您的代码,因此您的变量在离开当前页面后将不存在。但是,我需要一个全局变量。 我尝试像这样使用 unsafeWindow 和 window 对象:

if (window.myVar == undefined) {
   window.myVar = "myVar";
}

如果我刷新页面,条件值始终为真。

有没有办法在 Greasemonkey 中使用全局变量?

最佳答案

你必须使用 unsafeWindow以便创建可用于页面的 javascript 范围的全局变量。

if (unsafeWindow.myVar == undefined) {
   unsafeWindow.myVar = "myVar";
}

但是你不能期望这个变量在你刷新页面时存在,因为普通的 javascript 不会那样工作。如果您想跨页面加载保存一些数据,那么我建议您使用 GM_setValue & GM_getValue

关于javascript - Greasemonkey 和全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3321978/

相关文章:

javascript - 如何在kendoScheduler弹出窗口上预先选择资源值?

javascript - 如何将 JSON 数据获取到我的 ejs 模板中?

javascript - 单击文件下载后,成功后使用 AJAX 重定向到另一个页面

javascript - 如何在单个 "indexOf"语句中压缩多个 "if"条件?

javascript - waitForKeyElements.js 但有最长等待时间

javascript - Greasemonkey/Tampermonkey @match 带参数的页面

javascript - Angularjs - 查找具有动态类的元素

javascript - 找到具有给定标签的第一个链接并打开它(用户脚本)

javascript - 为什么 script.onload 在 Chrome 用户脚本中不起作用?

javascript - Chrome 用户脚本