2015-11-24 270 views
0

這裏是我的mainfest.json訪問擴展://擴展

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

但在chrome://extensions/
幫助,我無法找到內容腳本!

+1

我敢肯定,你不能這樣做,因爲它可能會在人們添加未被刪除的擴展程序時引入安全風險。 –

+0

爲什麼你需要訪問chrome:// extensions? –

回答

2

您可以通過啓用chrome://flags/#extensions-on-chrome-urls,並添加必要的網址,chrome://extensions/,成manifest.json中,但這種擴展"matches"將無法​​安裝在普通瀏覽器做你的電腦上,由於架構無效錯誤。

爲了避免致命的錯誤,不使用manifest.json的注入內容腳本/風格,通過chrome.tabs.insertCSSchrome.tabs.executeScript做手工的背景或彈出腳本:

  • chrome://flags:使Extensions on chrome:// URLs標誌
  • 的manifest.json:

    "permissions": ["chrome://*/*", "tabs"], 
    "background": { 
        "scripts": ["background.js"] 
    }, 
    
  • background.js:

    var chromeURLstylable; 
    chrome.permissions.contains({origins: ["chrome://*/*", "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 
           }); 
          } 
         }); 
        } 
    }); 
    

當心提交這種擴展到Chrome網絡商店的可能問題。