小编NoR*_*NoR的帖子

调试Chrome扩展程序的内容脚本

一般的问题

你好!我正在钻研Chrome扩展程序的世界,并且在整体工作流程下降方面遇到了一些问题.似乎Google最近转而大力提倡事件页面,而不是将所有内容保存在background.js和background.html中.我参与其中的一部分意味着我们应该将大部分扩展逻辑传递给内容脚本.

Google的Event Page入门中,他们有manifest.json文件中列出的内容脚本.但是在他们的事件页面示例扩展中,它是通过background.js中的这个代码块引入的:chrome.tabs.executeScript(tab.id, {file: "content.js"}, function() { });

以一种方式做另一种方式有什么好处?

我的守则

我正在推进注入内容脚本的程序化方式,就像Google的例子一样.

的manifest.json

{
    "manifest_version": 2,
    "name": "Test",
    "description": "Let's get this sucker working",
    "version": "0.0.0.1",
    "permissions": [
        "tabs",
        "*://*/*"
    ],
    "background": {
        "scripts": ["background.js"],
        "persistent": false
    },
    "browser_action": {
        "default_icon": "icon.png"
    }
}
Run Code Online (Sandbox Code Playgroud)

background.js

chrome.browserAction.onClicked.addListener(function() {
    console.log("alert from background.js");
    chrome.tabs.executeScript({file: "jquery-2.0.2.min.js"}, function() {
        console.log("jquery Loaded");
    });
    chrome.tabs.executeScript({file: "content.js"}, function() {
        console.log("content loaded");
    });
});
Run Code Online (Sandbox Code Playgroud)

content.js

console.log('you\'r in the world of content.js');
var ans = {};

ans.createSidebar …
Run Code Online (Sandbox Code Playgroud)

debugging google-chrome-extension google-chrome-devtools content-script

48
推荐指数
1
解决办法
3万
查看次数