相关疑难解决方法(0)

如何在我的页面操作弹出窗口中获取当前打开的选项卡的URL?

我想创建一个自动登录我的服务器的扩展.所以我创建了一个后台页面来检查当前的URL,如果它符合我的URL正则表达式,我将显示页面操作图标.点击页面操作,我打开一个带有一些字段的弹出窗口.我需要获取当前打开的URL并将其填入弹出窗口中的一个字段中(例如,当我们单击标准书签页面操作时,URL会自动填充打开的弹出窗口).如何在Chrome扩展程序中执行此类操作?我尝试了从背景页面到弹出窗口的消息传递,但它无法正常工作.是否可以发送这样的消息?此外,我尝试为弹出的html文件设置onload,但我注意到它没有触发.请建议一种合适的方法来处理这种情况.

javascript google-chrome google-chrome-extension

19
推荐指数
1
解决办法
2万
查看次数

检查项目是否已经在上下文菜单中

不久前,我可以在 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)

已删除,现在可以正常使用[已解决]

javascript google-chrome-extension

3
推荐指数
2
解决办法
2997
查看次数