gpt4 book ai didi

google-chrome-extension - 后台页面和后台脚本有什么区别?

转载 作者:行者123 更新时间:2023-12-05 00:13:23 25 4
gpt4 key购买 nike

This article 使用两个术语 “背景页面” “背景脚本”

我认为 背景脚本 作为 背景 字段与 Manifest.json 中的脚本

但是 背景页面 是什么,它们有何不同?

最佳答案

根据 documentation :

The background script is the extension's event handler; it contains listeners for browser events that are important to the extension. It lies dormant until an event is fired then performs the instructed logic. An effective background script is only loaded when it is needed and unloaded when it goes idle.



您可以使用 persistent list 条目中的 background 键配置后台脚本是在需要之前保持休眠状态还是始终处于事件状态。例如:
"background": {
"persistent": true,
"scripts": ["myBackground.js"]
}

如果您使用 scripts 键(如上所述)声明后台脚本,Chrome 将创建一个 HTML 页面,其中包含 script list 条目的 background 键中包含的脚本。所以在上面的例子中,Chrome 会创建一个背景页面,如:
<html>
<head>
</head>
<body>
<script src="myBackground.js"></script>
</body>
</html>

如果您改为声明 背景页面 ,则您决定在网页中包含哪些内容,并且必须在页面中包含您的脚本标签,因为在 page list 条目中不能同时具有 scriptsbackground 键。

声明后台页面的主要区别(和优势)在于您可以在其中包含任何您想要的 HTML 元素。它们不会被看到(背景页面永远不会显示),但它们可以像在任何其他网页中一样工作。例如,在下面的背景页面中,我包含了一个 audio 标签,用于在扩展程序运行时播放音乐:

manifest.json
"background": {
"persistent": true,
"page": "myBackgroundPage.html"
}

myBackgroundPage.html
<html>
<body>
<audio id="mySong" src="mySong.mp3" autoplay loop></audio>
<script src="myBackground.js"></script>
</body>
</html>

您可以仅使用脚本并在其中包含以下内容来获得相同的结果:
var myAudio = document.createElement('audio');
myAudio.src = 'mySong.mp3';
myAudio.autoplay = true;
myAudio.loop = true;
document.body.appendChild(myAudio);

但在这种情况下,我认为创建自己的背景页面更方便。

关于google-chrome-extension - 后台页面和后台脚本有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51213241/

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