[英]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.