Chrome://扩展程序页面中的访问扩展程序

时间:2015-11-24 10:31:58

标签: javascript google-chrome-extension

这是我的mainfest.json

"content_scripts": [ {
    "all_frames": true,
    "css": [ "css/event.css" ],
    "matches": [ "\u003Call_urls>" ],
    "run_at": "document_start"
}

但我在chrome://extensions/页面中找不到内容脚本 帮助!

1 个答案:

答案 0 :(得分:4)

您可以在PC上执行此操作,方法是启用chrome://extensions/并将必要的网址"matches"添加到manifest.json中的chrome.tabs.insertCSS,但此类扩展程序无法在由于无效的方案错误而导致普通浏览器。

为避免致命错误,请不要使用manifest.json注入内容脚本/样式,通过chrome.tabs.executeScriptchrome://flags在后​​台或弹出脚本中手动执行:

  • Extensions on chrome:// URLs:启用"permissions": ["chrome://*/*", "tabs"], "background": { "scripts": ["background.js"] }, 标志
  • 的manifest.json:

    var chromeURLstylable;
    chrome.permissions.contains({origins: ["chrome://*/*"], permissions: ["tabs"]}, function(state) {
        chromeURLstylable = state;
        console.log("chrome:// urls support", state);
    
        if (chromeURLstylable) {
            chrome.tabs.onUpdated.addListener(function(tabId, info, tab) {
                if (info.status == "loading" && tab.url.indexOf("chrome://") == 0) {
                    chrome.tabs.insertCSS({
                        file: "style.css", 
                        runAt: "document_start",
                        allFrames: true
                    });
                }
            });
        }
    });
    
  • background.js:

    SELECT  CASE WHEN ROW_NUMBER() OVER ( PARTITION BY A.AID ORDER BY A.AID ) > 1
                 THEN ''
                 ELSE A.NAME
            END AS ANAME ,
            dbo.B.NAME AS BNAME
    FROM    dbo.A
            LEFT OUTER JOIN dbo.B ON dbo.A.AID = dbo.B.AID;
    

请注意将此类扩展程序提交到Chrome网上应用店可能存在的问题。