美好的一天!
我有一个简单的chrome扩展程序,可以更改网页的DOM(它可以对注释进行排序,更准确)。我有一个 background.js ,其中包含以下代码:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(
null, {file : "app.js"});
});
当我点击扩展程序的图标时,会执行 app.js 。
我想通过第二次点击图标来重置所有更改。理想情况下,如果我第三次点击图标,页面将再次排序,依此类推。有一种简单的方法可以做到这一点吗?
提前谢谢
答案 0 :(得分:1)
Chrome无法自动撤消app.js
对网页DOM所做的更改,但您可以让app.js
撤消自己的修改。检测到app.js
正在第二次运行(将注入的脚本中的全局变量设置为your extension's isolated world)或者每个选项卡注入一次脚本并send a message告诉它哪个状态为将页面放入。
每个选项卡只注射一次脚本而不使其成为内容脚本看起来很棘手,这会阻止您使用即将发布的activeTab
权限,因此记住app.js
可能会更好,除非由于其他原因,你已经确保了一次注射。