chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(
null, {file : "app.js"});
});
我在点击扩展后注入(inject)了这样的代码。但是我想在用户第二次单击扩展图标时删除此注入(inject)的代码。这怎么可能。该代码将注入(inject)一个ID为“pluginHolder”的html div。我可以使用基本的js代码
document.getElementById('pluginHolder').remove();
手动将其删除。如何动态地执行此过程?
提前致谢
最佳答案
我认为简单解决方案类似于
if(document.getElementById('pluginHolder')) {
document.getElementById('pluginHolder').remove()
} else {
var pluginHolder = document.createElement('div');
document.body.appendChild(pluginHolder);
}
如果您想影响js代码而不是DOM。您可以与事件监听器一起使用play,
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);
}