chrome扩展:如何在任何页面上开启/关闭浏览器操作javascript注入?

时间:2014-07-10 23:46:49

标签: javascript google-chrome-extension

基本上当你点击浏览器动作时,它会激活" ON"模式,它会在人们导航到的每个新页面上注入javascript,包括新标签。当它"关闭"时,它不应再在新页面上注入javascript。

当前解决方案只会在您启用时执行javascript,并且需要在新页面加载时反复点击。

var toggle = false;
chrome.browserAction.onClicked.addListener(function(tab) {
  toggle = !toggle;
  if(toggle){
    chrome.browserAction.setIcon({path: "on.png", tabId:tab.id});
    chrome.tabs.executeScript(tab.id, {file:"SCRIPT.user.js"});
  }
  else{
    chrome.browserAction.setIcon({path: "off.png", tabId:tab.id});
    chrome.tabs.executeScript(tab.id, {code:"alert()"});
  }
});

1 个答案:

答案 0 :(得分:0)

将状态保存在localStorage或变量中,并在每次刷新页面时执行脚本。

chrome.webNavigation.onDOMContentLoaded.addListener(function(tab){
    if (toggle)
    chrome.tabs.executeScript({tab.is,code:{'alert()'})
})

我还建议你使用localStorage(或chrome存储api,在chrome重启后存储toggle var)