Firefox 扩展:JavaScript 通过脚本标签包含的文件不起作用
Firefox extension: JavaScript file included via script tag is not working
基于 example from MDN,我创建了自己的扩展,仅显示一条 'hi' 消息。我通过标签包含了一个名为 "popup.js" 的文件。但是这个文件没有被执行。
这是我的 manifest.json 文件:
{
"manifest_version": 2,
"name": "Ext",
"version": "1.0",
"description": "Shows a hi message.",
"icons": {
"48": "icons/ff.jpg"
},
"permissions": ["tabs"],
"browser_action": {
"default_icon": "icons/toggle-off.png",
"default_title": "EXT",
"default_popup": "popup/popup.html"
}
}
这是我的popup.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h2>Hi</h2>
<script src="popup.js"></script>
</body>
</html>
我的 popup.js 文件中只有一行。也就是说,
console.warn("This is a warning");
但我在控制台中看不到任何内容。当我单击扩展图标时,弹出窗口正确显示。
我不知道这里缺少什么。感谢您的帮助!
终于找到问题所在了。
要从通过标记包含的 js 文件执行代码,您需要在 browser.tabs.executeScript
中指定该代码,而我的 manifest.json 文件中有一个错误。我应该将权限指定为 activeTab
而不是 tabs
.
所以我修改后的manifest.json文件是:
{
"manifest_version": 2,
"name": "Ext",
"version": "1.0",
"description": "Shows a hi message.",
"icons": {
"48": "icons/ff.jpg"
},
"permissions": ["activeTab"],
"browser_action": {
"default_icon": "icons/toggle-off.png",
"default_title": "EXT",
"default_popup": "popup/popup.html"
}
}
我的 popup.js 文件变成:
browser.tabs.executeScript({code: `console.warn("This is a warning")`});
有关详细信息,请参阅 docs。
基于 example from MDN,我创建了自己的扩展,仅显示一条 'hi' 消息。我通过标签包含了一个名为 "popup.js" 的文件。但是这个文件没有被执行。
这是我的 manifest.json 文件:
{
"manifest_version": 2,
"name": "Ext",
"version": "1.0",
"description": "Shows a hi message.",
"icons": {
"48": "icons/ff.jpg"
},
"permissions": ["tabs"],
"browser_action": {
"default_icon": "icons/toggle-off.png",
"default_title": "EXT",
"default_popup": "popup/popup.html"
}
}
这是我的popup.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h2>Hi</h2>
<script src="popup.js"></script>
</body>
</html>
我的 popup.js 文件中只有一行。也就是说,
console.warn("This is a warning");
但我在控制台中看不到任何内容。当我单击扩展图标时,弹出窗口正确显示。
我不知道这里缺少什么。感谢您的帮助!
终于找到问题所在了。
要从通过标记包含的 js 文件执行代码,您需要在 browser.tabs.executeScript
中指定该代码,而我的 manifest.json 文件中有一个错误。我应该将权限指定为 activeTab
而不是 tabs
.
所以我修改后的manifest.json文件是:
{
"manifest_version": 2,
"name": "Ext",
"version": "1.0",
"description": "Shows a hi message.",
"icons": {
"48": "icons/ff.jpg"
},
"permissions": ["activeTab"],
"browser_action": {
"default_icon": "icons/toggle-off.png",
"default_title": "EXT",
"default_popup": "popup/popup.html"
}
}
我的 popup.js 文件变成:
browser.tabs.executeScript({code: `console.warn("This is a warning")`});
有关详细信息,请参阅 docs。