【发布时间】:2020-09-10 07:48:33
【问题描述】:
我正在尝试为新的 Microsoft Edge 浏览器构建扩展。加载解压后的扩展我得到这个错误,
Uncaught ReferenceError: browser is not defined
我已经阅读了所有扩展 API 都在 browser 命名空间下的 microsoft edge 文档。
我已在我的manifest.json 文件中包含存储权限。这是我来自manifest.json 文件的代码,
{
"manifest_version": 2,
"name": "Demo",
"author": "Plaban Kumar Mondal",
"description": "Demo",
"version": "1.0.0",
"icons": {
"128": "icon128.png",
"48": "icon48.png",
"16": "icon16.png"
},
"browser_action": {
"default_icon": {
"48": "icon48.png",
"16": "icon16.png"
},
"default_popup": "popup.html"
},
"options_page": "options/options.html",
"permissions": ["activeTab", "storage"]
}
这是我使用 browser 命名空间的 javascript 文件,
const checkboxes = document.querySelectorAll("input[type='checkbox']");
checkboxes.forEach((checkbox) => {
return checkbox.addEventListener("change", () => {
if (checkbox.changed) {
browser.storage.local.set({ [checkbox.name]: true }, () => {
browser.storage.onChanged.addListener(() => console.log("true"));
});
} else {
browser.storage.local.set({ [checkbox.name]: false }, () => {
browser.storage.onChanged.addListener(() => console.log("changed to false"));
});
}
});
});
我的代码有什么问题?
【问题讨论】:
-
您是在 Edge v44 及更早版本还是 Edge v79 及更高版本上进行测试?它们是非常不同的浏览器。 (没有 v45-v78。)
-
我正在 Edge v85 上进行测试。
-
@Plaban,我同意 Abhinav 提出的将
browser替换为chrome的建议可能会帮助您解决问题。让我们知道它是否适合您。 -
@Deepak-MSFT 我试过
chrome,它成功了。
标签: javascript browser microsoft-edge microsoft-edge-extension