从浏览器控制台访问Greasemonkey / Tampermonkey变量?

时间:2018-04-03 15:26:21

标签: javascript greasemonkey tampermonkey browser-console

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

var ExampleObj = {
  somevar1:'value1',
  somevar2:'value2',
  somevar3:'value3',
  somefunction1:function(){
    //do sth
  },
  somefunction2:function(){
    //do sth else
  }
}

当我尝试从脚本调用我的函数时:一切正常,但是 我无法从浏览器控制台访问:

  

(ReferenceError:未定义ExampleObj)


我的Greasemonkey / Tampermonkey设置(元数据):

// ==UserScript==
// @name     [this is my secret]
// @version  1
// @run-at document-end
// @include [this is my secret]
// @grant    none
// ==/UserScript==

脚本有效;我只需要从浏览器控制台访问这些功能。

1 个答案:

答案 0 :(得分:2)

my_sklearn_sandbox.py模式下,脚本仍然在受保护的范围内运行。通过更改:

将对象置于全局范围内
@grant none

要:

var ExampleObj = {

然后,您将能够查看和使用该对象。 (请注意,目标网页也可以查看和使用它。)

有关window.ExampleObj = { 不是非的情况的更多信息和方案,请参阅“Accessing Variables from Greasemonkey to Page & vice versa”。