1. Chrome
Background.js
//Chrome.webRequest.onBeforeRequest.addListener (function (info) {//Chrome.tabs.executeScript ({code: ' Console.log ("' + Info.url + ') ');//chrome.tabs.getSelected (NULL, Function (tab) {//chrome.tabs.sendMessage (tab.id, info.url);// });//return;//},{urls: ["<all_urls>"]}, ["Blocking"]);Chrome.webRequest.onCompleted.addListener (function(info) {//Chrome.tabs.executeScript ({code: ' Console.log ("' + Info.url + ') ');Chrome.tabs.getSelected (NULL,function(tab) {Chrome.tabs.sendMessage (tab.id, Info.url); }); return;},{urls: ["<all_urls>"]}); Chrome.webRequest.onErrorOccurred.addListener (function(info) {//Chrome.tabs.executeScript ({code: ' Console.log ("' + Info.url + ') ');Chrome.tabs.getSelected (NULL,function(tab) {Chrome.tabs.sendMessage (tab.id,"!" + Info.error + "!" +Info.url); }); return;},{urls: ["<all_urls>"]});
Content.js
Console.log ("Content.js"); Chrome.runtime.onMessage.addListener (function(msg, sender, Sendresponse) { console.log (msg); + = msg + "\ n";});
Manifest.json
{ "Name": "Test", "Version": "1.0", "description": "Test", "Background": { "Persistent":true, "Scripts": ["Background.js"] }, "Content_scripts": [ { "JS": ["Content.js"], "Matches": ["http://*/*", "https://*/*"], "Run_at": "Document_start" } ], "Permissions": [ "Tabs", "<all_urls>", "WebRequest", "Webrequestblocking" ], "Manifest_version": 2}
2. Firefox
Background.js
//Browser.webRequest.onBeforeRequest.addListener (function (info) {//Browser.tabs.executeScript ({code: ' Console.log ("' + Info.url + ') ');//return;//},{urls: ["<all_urls>"]}, ["Blocking"]);Browser.webRequest.onCompleted.addListener (function(info) {//Chrome.tabs.executeScript ({code: ' Console.log ("' + Info.url + ') ');Browser.tabs.query ({currentwindow:true, Active:true}). Then (function(tabs) { for(Let tab of tabs) {browser.tabs.sendMessage (Tab.id,info.url); } }); return;},{urls: ["<all_urls>"]}); Browser.webRequest.onErrorOccurred.addListener (function(info) {//Chrome.tabs.executeScript ({code: ' Console.log ("! ' + Info.url + ') ');Browser.tabs.query ({currentwindow:true, Active:true}). Then (function(tabs) { for(Let tab of tabs) {browser.tabs.sendMessage (tab.id,"!" + Info.error + "!" +Info.url); } }); return;},{urls: ["<all_urls>"]});
Content.js
// Console.log ("Content.js"); Browser.runtime.onMessage.addListener (function(msg, sender, Sendresponse) { Console.log (msg); + = msg + "\ n";});
Manifest.json
{ "Manifest_version": 2, "Name": "ADTest", "Version": "1.0", "description": "Get urlinfo where access a website", "Background": { "Scripts": ["Background.js"] }, "Content_scripts": [ { "JS": ["Content.js"], "Matches": ["http://*/*", "https://*/*"], "Run_at": "Document_start" } ], "Permissions": [ "Tabs", "<all_urls>", "WebRequest", "Webrequestblocking" ], "Applications": { "Gecko": { "id": "[email protected]" } }}
JS: Browser Plugin