Javascript 何时以及为什么需要background.html或background.js?
我正在构建我的第一个Chrome扩展。我已经阅读了Chrome开发者文档,但我不能理解几个主题 我的理解是:Javascript 何时以及为什么需要background.html或background.js?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在构建我的第一个Chrome扩展。我已经阅读了Chrome开发者文档,但我不能理解几个主题 我的理解是: 有两项行动: 浏览器操作(地址栏外的按钮) 页面操作(地址栏内的按钮) 对于这两个动作,我们都有背景页面: 对于浏览器操作,背景页面可以是Background.html或Background.js 或background.html或eventPage.js用于页面操作 我正在使用页面操作。对于默认的弹出页面,我使用了popup.html 现在这个background.html和e
- 浏览器操作(地址栏外的按钮)
- 页面操作(地址栏内的按钮)
- 对于浏览器操作,背景页面可以是
或Background.html
Background.js
- 或
或background.html
用于页面操作eventPage.js
popup.html
现在这个background.html
和eventPage.js
放在哪里(特别是background.html
,因为我已经有了我的popup.html
,我需要它吗?)
eventPage.js
应该有什么?background.html
应该有什么?您不一定需要背景页面或背景脚本。如果您打算创建一个不需要任何人工交互的扩展,那么您将需要它们
页面和浏览器操作通常意味着你想要有某种用户界面,所以不需要背景资料。只需像平常一样将脚本等添加到主“默认弹出”html页面中。在
清单.json中,如果您使用(建议减少扩展内存使用量)的
{
...
"background": {
"scripts": ["eventPage.js"],
"page": "eventPage.html"
"persistent": false
},
...
}
现在,上面的清单实际上不起作用了:在“background”
字典中只能有一个“scripts”
或“page”
键。最简单的方法是定义“脚本”
。然后您可以编写一组javascript,并让它运行以响应各种事件,如和
在“scripts”
键中列出的javascript在HTML文档的上下文中运行,并且可以在运行时使用DOM API。默认情况下,Chrome将生成以下格式的文档:
<html>
<head></head>
<body>
<script src="event.js"></script>
</body>
</html>
并得到相同的结果,但文档可能更容易。该HTML文件是您在清单的background.page
中输入的内容
正如@SirDemon所提到的,如果你把所有东西都放进a的弹出窗口中,你有时可以完全不带背景/事件页面。因为a应该只出现在与其相关的页面上,所以您通常需要一个背景/事件页面来控制页面操作。谢谢您的回答@SirDemon。我刚刚发现,当我使用pageaction时,为了显示我的页面,我需要调用一个方法,该方法需要tabID。要获取TabID,我必须访问contentScript.js,并根据请求向eventPage.js发送调用。我已经这样做了,但它不起作用。你能帮我吗?首先,为了使用选项卡,最好将“选项卡”添加到你的权限清单中。除此之外,我还需要确切地知道代码中有哪些地方失败,才能知道如何提供帮助。
<html>
<head></head>
<body>
<script src="event.js"></script>
<canvas width="300" height="400" id="the_canvas"></canvas>
</body>
</html>
var canvas = document.createElement('canvas');
canvas.width = 300;
canvas.height = 400;