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

How to use Chrome Dev Tools script in its console?

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

当页面加载时,我可以看到文件已加载(因为如果我在此插件中打印某些内容,Chrome 会显示执行此操作的 JS 在哪里。)。

我的问题是:如何在console中使用这个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()

好像不行。

Content scripts execute in a special environment called an isolated world. They have access to the DOM of the page they are injected into, but not to any JavaScript variables or functions created by the page. It looks to each content script as if there is no other JavaScript executing on the page it is running on. The same is true in reverse: JavaScript running on the page cannot call any functions or access any variables defined by content scripts.

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

我发现了一种方法。

使用这个post的答案:Include jQuery in the JavaScript Console

我创建了一个书签,其中包含 jQuery 和我的脚本,现在我可以执行此注入操作了 :D