abh*_*ash 5 javascript google-chrome google-chrome-extension
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(
null, {file : "app.js"});
});
Run Code Online (Sandbox Code Playgroud)
我在单击时将这样的代码注入到扩展程序中。但是我想在用户第二次单击扩展图标时删除这个注入的代码。这怎么可能。代码注入一个 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);
}
Run Code Online (Sandbox Code Playgroud)
如果你想影响 js 代码而不是 DOM。你可以使用 玩eventListener,
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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3962 次 |
| 最近记录: |