您需要設置matches
到<all_urls>
(你也可以添加一個按鈕,擴展到觸發它)。這是我的完整的例子:
Extension Buttons
My Extension
├── manifest.json
├── background.js
├── content.js
├── jquery-2.2.0.min.js
├── icon.png
manifest.json的
{
"manifest_version": 2,
"name": "My Extension",
"version": "0.1",
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": ["jquery-2.2.0.min.js","content.js"]
}
],
"browser_action": {
"default_icon": "icon.png"
},
"background": {
"scripts": ["background.js"]
},
"icons": {
"16": "icon.png",
"48": "icon.png",
"128": "icon.png"
}
}
background.js
chrome.browserAction.onClicked.addListener(function(tab) {
// Send a message to the active tab
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
var activeTab = tabs[0];
chrome.tabs.sendMessage(activeTab.id, {"message": "clicked_browser_action"});
});
});
content.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if(request.message === "clicked_browser_action") {
//YOUR CODE GOES HERE
}
}
);
基本上我添加一個按鈕,一旦它被壓調用content.js
延伸。聆聽者在background.js
。
注意,這個代碼將徹底摧毀任何頁面,因爲它會破壞所有的事件處理程序。不要使用'innerHTML'。 – Xan
@xan你會推薦什麼? –
創建一個元素,設置其屬性並將其附加到body元素。 – Xan