从浏览器控制台访问

从浏览器控制台访问

这是来自用户脚本的代码示例:

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/

10-10 03:13