gpt4 book ai didi

google-chrome-extension - 在我的 chrome 扩展中只执行一次后台脚本

转载 作者:行者123 更新时间:2023-12-05 01:47:52 24 4
gpt4 key购买 nike

我正在开发一个 chrome 扩展。每次我重新加载页面或打开新选项卡时,我的脚本都会被调用。我如何让它只加载一次扩展,即当 chrome 启动并在浏览器关闭时将所有值重置为默认值。

我确实浏览了 stackoverflow 中可用的大部分链接,但无法将其重点放在我的情况上。

list .json

"background":{
"scripts":["common.js","example.js"],
"persistent":true
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["myscript.js"]
}
],
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
"permissions": ["http://*/*",
"https://*/*",
"contextMenus",
"tabs"]

在我的一个后台 javascript 中,我触发了一个事件:

例子.js

var DOMContentLoaded_event = document.createEvent("Event");
DOMContentLoaded_event.initEvent("DOMContentLoaded", true, true);
window.document.dispatchEvent(DOMContentLoaded_event);

以上代码是为了触发DONContent,这样用户就不需要每次启动Chrome浏览器时都点击扩展图片。

每次加载我的页面时都会调用触发事件,无论是重新加载同一页面或打开另一个选项卡,事件被调用。我知道我在这里遗漏了一些重要的东西。我确实在 localStorage 中设置了一些东西。没有工作(我的意思是,该事件在刷新网页时被调用)。我确实尝试了 "persistent": true 选项,但没有成功。

我能知道我错过了什么吗?

尼基尔

最佳答案

根据您的评论,您正在尝试为 Chrome 启动和加载您的扩展程序时注册一个监听器。您可以使用 chrome.runtime.onStartup 实现此目的 事件:

Fired when a profile that has this extension installed first starts up. This event is not fired when an incognito profile is started, even if this extension is operating in 'split' incognito mode.

很简单:

chrome.runtime.onStartup.addListener(function () {
/* Do some initialization */
});

关于google-chrome-extension - 在我的 chrome 扩展中只执行一次后台脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21090522/

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