如何在其控制台中使用Chrome Dev Tools脚本?

时间:2015-07-02 18:43:33

标签: console chrome-dev-editor

我为Chrome创建了一个简单的插件,它为我提供了一些功能,例如,在按某些键时创建新cookie的功能。

当页面加载时,我可以看到文件已加载(因为如果我在这个插件中打印了一些东西,Chrome会告诉我JS在哪里做了。)。

我的问题是:如何在控制台中使用此js的功能?

我的插件示例:

的manifest.json

{
    "name":"Function helpers",
    "description":"",
    "version":"1",
    "manifest_version":2,
    "content_scripts": [{
        "matches": ["http://localhost:9999/*"],
        "js": ["jquery.js", "myscript.js"]
    }
  ]
}

myscript.js

   console.log("It works!");
    var helper = {
      createCookie =  function (){
           console.log("Cookie created!");
      }

    }

Chrome的控制台告诉我:

It works!                       - myscript.js:1

我希望能够在Chrome控制台中调用myscript.js文件的 helper.createCookie()函数。

2 个答案:

答案 0 :(得分:1)

好像你不能。

  

内容脚本在称为孤立世界的特殊环境中执行。他们可以访问注入页面的DOM,但不能访问页面创建的任何JavaScript变量或函数。它将每个内容脚本视为在其运行的页面上没有执行其他JavaScript。反过来也是如此:页面上运行的JavaScript无法调用任何函数或访问内容脚本定义的任何变量。

http://developer.chrome.com/extensions/content_scripts.html#execution-environment

答案 1 :(得分:-1)

我发现了一种方法。

使用这篇文章的答案:Include jQuery in the JavaScript Console

我已经创建了一个带有jQuery和我的脚本的书签,现在我能够进行这样的注入:D