这是来自用户脚本的代码示例:
var ExampleObj = {
somevar1:'value1',
somevar2:'value2',
somevar3:'value3',
somefunction1:function(){
//do sth
},
somefunction2:function(){
//do sth else
}
}
当我尝试从脚本调用我的函数时:一切正常,但是
我无法从浏览器控制台访问:
我的 Greasemonkey/Tampermonkey 设置(元数据):
// ==UserScript==
// @name [this is my secret]
// @version 1
// @run-at document-end
// @include [this is my secret]
// @grant none
// ==/UserScript==
脚本有效;我只需要从浏览器控制台访问这些功能。
最佳答案
在 @grant none
模式下,脚本仍然在 protected 范围内运行。通过更改将您的对象置于全局范围内:
var ExampleObj = {
至:
window.ExampleObj = {
然后您将能够看到并使用该对象。 (注意目标网页也可以看到和使用。)
有关更多信息和
@grant
不是 none 的情况,请参阅“Accessing Variables from Greasemonkey to Page & vice versa”。关于javascript - 从浏览器控制台访问 Greasemonkey/Tampermonkey 变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49633780/