我目前正在开发一个包含background.js和content_scripts.js的chrome扩展程序。在content_scripts中,我添加了一些" event.preventDefault" 在所有元素中,还在页面上添加了一些元素。但是,当用户第二次点击我的扩展程序时,我希望"关闭"我的扩展程序并取消我的扩展程序所做的所有更改。
是否有一种简单的方法可以做到这一点,还是我必须处理我个别所做的所有更改?
答案 0 :(得分:1)
不,如果不重新加载页面,通常无法轻松撤消所有更改。是的,如果您希望撤消所有更改,则必须自行撤消。如果您的扩展程序被禁用,或者您调用了特定的API,那么您的更改不会进行任何魔术录音,而是会为您提供支持。
有一些明显的策略可以这样做:
chrome.tabs.sendMessage()
轻松地向内容脚本发送消息,指示它应禁用自身和/或撤消任何更改。 答案 1 :(得分:-1)
试试这个。
if(localStorage.getItem('firstClick')==='true'){
localStorage.setItem('firstClick', 'false');
chrome.tabs.executeScript(null, {file: "contentscript.js"});
}
else {
localStorage.removeItem('firstClick');
localStorage.set('firstClick', 'true')
}