簡體   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