opera.contexts.menu.createItem():建立一个菜单项对象
参数
contexts
菜单类型,也就是你要往哪个菜单插,值有: ['all', 'page', 'frame', 'selection', 'link', 'editable', 'image', 'video', 'audio']
disabled
是否不可用,默认值false,也就是可用
documentURLPatterns
设置在哪些域名下菜单项可用,支持*通配符,如 ['http://opera.com/*','https://opera.com/*']
icon
设置菜单项图标地址,支持相对url,格式bmp, gif (not animated), ico, jpg, png, webp,建议尺寸16x16
id
监控哪个菜单项被点击了,如果被点击了就会在控制台输出id的值
onclick
这个不用说多说了吧,点击菜单项后要执行的函数
targetURLPatterns
设置哪些链接下菜单项可用,配合contexts为link时使用
title
设置菜单项显示的文字,默认为空,显示的是config.xml中<name>里的值
type
设置菜单项的类型,有 entry, folder, line,默认为entry,folder则是显示子菜单,line是显示菜单分割线
opera.contexts.menu.addItem():添加菜单项对象到菜单
参数为一个菜单项对象
opera.contexts.menu.removeItem():移除菜单项
参数为对象索引,而不是对象名称
opera.contexts.menu.item():获取一个菜单项对象
参数为对象索引,而不是对象名称
opera.contexts.menu.length:获取菜单项的数量
只包含扩展添加的菜单项,不包含浏览器本身的菜单项
MenuItem.parent:获取父菜单对象
MenuEvent.documentURL:获取当前文档的url
MenuEvent.isEditable:判断是否为编辑区
MenuEvent.mediaType:获取媒体值
如果context为['image', 'audio', 'video']则对应得到的值为image, video,audio,否则值为null
MenuEvent.selectionText:获取被选中的文字
这个属性只有在context为['selection']时有效,否则为null
MenuEvent.source:传递消息时用
MenuEvent.srcElement:获取dom对象
MenuEvent.srcURL:获取有src属性dom对象的值
MenuEvent.target:获取当前点击的菜单项对象
参考原文:Context Menu API:http://dev.opera.com/articles/view/extensions-api-contextmenu