我想创建一个自动登录我的服务器的扩展.所以我创建了一个后台页面来检查当前的URL,如果它符合我的URL正则表达式,我将显示页面操作图标.点击页面操作,我打开一个带有一些字段的弹出窗口.我需要获取当前打开的URL并将其填入弹出窗口中的一个字段中(例如,当我们单击标准书签页面操作时,URL会自动填充打开的弹出窗口).如何在Chrome扩展程序中执行此类操作?我尝试了从背景页面到弹出窗口的消息传递,但它无法正常工作.是否可以发送这样的消息?此外,我尝试为弹出的html文件设置onload,但我注意到它没有触发.请建议一种合适的方法来处理这种情况.
不久前,我可以在 Google Chrome 扩展程序中为上下文菜单保存创建项目的 ID:
背景.js:
var myItem;
if (myItem !== "MyItem") {
myItem = chrome.contextMenus.create({
title: "My item",
id: 'MyItem',
contexts: ["page"]
});
}
Run Code Online (Sandbox Code Playgroud)
但是现在当我首先打开 Chrome 时,它说:
运行 contextMenus.create 时未选中的 runtime.lastError:无法创建具有重复 id MyItem 的项目
(来自调试控制台)
所以当我关闭 Chrome 时,它不再记得我的变量“myItem”(它的数据)。它只在 Chrome 打开时记住。
那么现在我应该使用chrome.storage.local.get还是set保存我的上下文菜单项的 ID?
更新:
问题是"persistent": false背景清单中的一个:
"background": {
"scripts": [ "background.js" ]
},
Run Code Online (Sandbox Code Playgroud)
已删除,现在可以正常使用[已解决]