addMenuPlus 是一个非常强大的定制菜单的 uc 脚本。通过配置文件可添加、修改、隐藏菜单,修改后无需重启生效。

ywzhaiqi 基于 Griever/addMenu.uc.js 修改增强

我基于 ywzhaiqi 的 addMenuPlus 再次修复增强

ywzhaiqi 新增的功能

  • 新增修改原有菜单的功能
  • 新增参数 %FAVICON_BASE64%:站点图标的 base64
  • 新增参数 %IMAGE_BASE64%:图片的 BASE64
  • 新增参数 %TITLES%:简短的标题

我新增的功能

  • 新增属性
  • 新增参数 %SVG_BASE664%:SVG的 BASE64

不过 ywzhaiqi 大佬已经不用 Firefox 很久了。我就简单修修脚本,搬运 README 并修正不能用的例子。

使用说明及技巧

  • _addmenu.js 文件为配置文件,默认放在 chrome 目录下。
  • about:config 中可通过 addMenu.FILE_PATH 设置配置文件的路径(如果没有手动新建一个)。例如local\_addMenu.js 为相对 chrome 下的路径(windows)。
  • 菜单栏(默认隐藏,按Alt弹出)的 "工具" 菜单中有个 "AddMenuPlus" 菜单,左键点击重新载入配置,右键打开文件编辑(需要首先设置 about:config 中 view_source.editor.path 编辑器的路径)
  • ID 为 addMenu-rebuild,可添加到 rebuild_userChrome.uc.xul 统一进行管理
  • 新增 载入配置出错提示,点击可直接定位到第几行,需要首先设置参数,详见 编辑器及参数说明
  • addMenu 脚本配置生成器

配置的说明

可添加的范围

page: 页面右键菜单
tab: 标签右键
tool: 工具菜单
app: 左上角橙色菜单(firefox 29 以下版本)/ 汉堡菜单 firefox 29 以上版本

二级子菜单

PageMenu, TabMenu, ToolMenu, AppMenu

标签的介绍

label 菜单的名称
accesskey 快捷键
exec 启动外部应用程序。(ywzhaiqi新增相对路径。 \ 代表当前配置的路径,例:\Chrome 代表配置下的Chrome文件夹)
keyword 指定了关键字的书签或搜索引擎(我新增了@default调用默认搜索引擎)
text 复制你想要的字符串到剪贴板,可与 keyword, exec 一起使用
url 打开你想要的网址
where 打开的位置 (current, tab, tabshifted, window)
condition 菜单出现的条件 (select, link, mailto, image, media, input, noselect, nolink, nomailto, noimage, nomedia, noinput)
oncommand 自定义命令
command 命令的 id
onclick 点击的函数
image 添加图标 (对应图标 url 或 base64)
style 添加样式
... Firefox 菜单的其它属性

id 标签的ID(ywzhaiqi新增的,修改原菜单用)
position/insertBefore/insertAfter 位置的设置(3选1),position: 1, insertBefore: "id", insertAfter: "id"
clone false 为不克隆,直接改在原菜单上,还原必须重启生效或打开新窗口
onshowing ywzhaiqi新增的,当页面右键显示时会执行该函数,可用于动态更改标签标题,详见下面的示例。
onshowinglabel 我新增的,显示的时候根据模板设置 label
"data-l10n-href" (我新增的,因JS语法问题配置里请用双引号括起来,本地化语言文件 ftl 后缀)
"data-l10n-id" (我新增的,因JS语法问题配置里请用双引号括起来,本地化关联 id)

因为原帮助太长,这里不能完整发出来,贴个链接
https://github.com/benzBrake/FirefoxCustomize/blob/master/userChromeJS/addMenuPlus/README.md