使用' onclick '与上下文菜单子项目
Use `onclick` with context menu child items?
我在我的manifest.json
文件中有这个代码:
{
"name": "Test",
"description": "test of Context Menus",
"version": "0.0.1",
"permissions": [
"contextMenus"
],
"background": {
"persistent": false,
"scripts": ["background.js"]
},
"manifest_version": 2
}
这是我的background.js
文件:
chrome.runtime.onInstalled.addListener(function() {
var parent = chrome.contextMenus.create({"title": "TEST", "contexts":["all"], "id": "parent"});
var child1 = chrome.contextMenus.create({"title": "Test2", "parentId": "parent", "id": "child1", "onclick": showURL, "contexts": ["all"]});
});
,这是我的showURL
函数(在background.js
文件中)注意:这是在文件的顶部:
function showURL() {
alert(document.URL);
}
但是运行这个会使child1
项消失。为什么会这样?
注意:当我删除"onclick": showURL,
,然后它显示child1
项目。
所以,我知道onclick
有问题,但我不知道是什么!
请帮帮我,我不知道代码有什么问题!我认为语法是正确的,根据谷歌的API文档,所以有什么问题??
这应该是一个学习项目-学习Chrome扩展API的一个简单的部分-已经,我有一个问题!我知道编程是一项"有问题的"努力,但是,拜托!一定有人知道解决办法!
虽然你读了文档,但你读得不够认真:
onclick(可选):
当单击菜单项时将被回调的函数。事件页不能使用这个;相反,他们应该为chrome. contextmenu . onclicked .
注册一个侦听器。
你的"persistent": false
在manifest中定义了一个Event页面。您应该重新构建代码以适应contextMenus
,并使用基于事件的单击处理。
注:请注意,事件页面在概念上比持久的后台页面更难编程。如果这是一个学习的经历,你可以试着从事件页面切换。
机会不大,但是…
定义了chrome.runtime.onInstalled.addListener方法后,是否定义了showURL函数?还是BEFORE ?
如果你引用的东西是(尚未)定义的,那么它是可能的"var child1 = chrome.contextMenus. "创建"代码未正确完成。
尝试将showURL定义移动到chrome.runtime.onInstalled.addListener(…)行之前。
(已经有一段时间了,我已经生疏了,可能在这件事上我错怪了别人)
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- angular的下拉菜单
- 使用JQuery的动态上下文菜单
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 创建下拉菜单
- 下拉菜单在菜单按钮的边缘闪闪发光
- Div根据<选择>菜单
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 硒IDE下拉菜单
- 将JavaScript弹出菜单转换为警报框
- 调整屏幕大小后不显示子菜单
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 我的下拉菜单中的链接不起作用
- Bootstrap Dropdown selection是在*all*下拉菜单上设置选择
- Jquerymobile-使用javascript创建选择菜单
- 如何将JSON转换为HTML下拉菜单
- 滚动后保持固定的菜单栏不起作用
- 如何关闭所有其他子菜单
- 使用' onclick '与上下文菜单子项目