Vic*_*tor 3 html javascript google-chrome delicious-api google-chrome-extension
我正在开发一个简单的链接共享扩展(插板,可读性,美味等),并且有一个关于如何正确处理上下文菜单项的问题.在我的非持久性背景页面中,我调用chrome.contextMenus.create
并chrome.contextMenus.onClicked.addListener
设置/响应上下文菜单.
上下文菜单条目按预期工作.但是后台页面显示以下错误(在它开始之后和我使用该条目之前):
contextMenus.create: Cannot create item with duplicate id id_share_link at chrome-extension://.../share.js:52:30 lastError:29 set
Run Code Online (Sandbox Code Playgroud)
这让我意识到,我绝不会删除项目或听众.对javascript和扩展知之甚少,我想知道我是否正确地做了一切.我假设这个顶级代码将在每次调用后台页面时重新执行.因此,对create和addListener进行冗余调用(因此我看到记录的错误).
我显然无法进行清理以响应暂停,因为这些调用需要存在才能唤醒后台脚本.
我应该以不同方式处理事情吗?
您可以通过以下两种方式之一处理它:
您可以使用以下命令在安装时添加上下文菜单和侦听器:
chrome.runtime.onInstalled.addListener(function() {
/* Add context menu and listener */
});
Run Code Online (Sandbox Code Playgroud)您可以删除上下文菜单和侦听器,然后在每次调用文件时重新添加它.
归档时间: |
|
查看次数: |
1455 次 |
最近记录: |