gpt4 book ai didi

javascript - 如何在打开 Chrome 扩展后停止它?

转载 作者:行者123 更新时间:2023-11-28 05:15:39 25 4
gpt4 key购买 nike

我目前正在开发一个 Chrome 扩展,其中包含 background.js 和 content_scripts.js。在 content_scripts 中,我添加了一些“event.preventDefault” 在所有元素中,并在页面上添加了一些元素。但是,当用户第二次单击我的扩展程序时,我想“关闭”我的扩展程序并取消我的扩展程序所做的所有更改。

是否有一种简单的方法可以做到这一点,或者我是否必须单独处理我所做的所有更改?

最佳答案

不,在不重新加载页面的情况下,没有简单的方法可以撤消所有更改。是的,如果您希望撤消所有更改,那么您必须自己撤消它们。如果您的扩展被禁用,或者您调用特定的 API,则不会对您的更改进行神奇的记录,从而为您恢复这些更改。

有一些明显的策略可以做到这一点:

  • 记住您所做的更改并一一撤消它们(撤消更改、删除事件监听器等)。所需内容取决于您的扩展程序执行的操作以及您希望将其保留的状态。您可以使用 chrome.tabs.sendMessage() 轻松向内容脚本发送消息。这表明它应该禁用自身和/或取消任何更改。
  • 重新加载页面
  • 存储页面的至少部分的初始状态并恢复它。这可能很难做到,并且在通用页面上可能是不可能的。您必须了解所有事件监听器以及页面中由 JavaScript 设置的潜在其他状态信息。

关于javascript - 如何在打开 Chrome 扩展后停止它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40996176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com