繁体   English   中英

删除chrome扩展中的注入脚本

[英]Remove injected script in chrome extension

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript(
      null, {file : "app.js"});                                                                                                                                                                         
});

我在点击时将这样的代码注入到扩展名中。 但是,当用户第二次单击扩展图标时,我想删除此注入的代码。 这怎么可能。 代码注入一个id为“pluginHolder”的html div。 我可以使用基本的js代码document.getElementById('pluginHolder').remove();手动删除它document.getElementById('pluginHolder').remove();

如何动态地完成这个过程?

提前致谢

我认为简单的解决方案就像

if(document.getElementById('pluginHolder')) {
    document.getElementById('pluginHolder').remove()
} else {
   var pluginHolder = document.createElement('div');
   document.body.appendChild(pluginHolder);
}

如果你想影响js代码而不是DOM。 你可以使用事件听众玩,

 function logMouse() {
      console.log(e.x+':'+e.y);
}
// Initialize on first run to true else use old value NOT(!) ( last time injected script)

isEnable = isEnable ? !isEnable : !!isEnable;
if(isEnable) {
    window.addEventListener('mousemove', logMouse);
} else {
    window.removeEventListener('mousemove', logMouse);
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM