Skip navigation.

Log in | Sign up

Opera 定制命令/按钮 - 语法指南

, , , , ,

本文主要讲解命令定制的语法和规则. 这里所讲的内容非常简单, 不用害怕学不会. 它比任何一种语言都要简单的多, 所有的动作/命令均有单词组成, 这里有本 "词典" 一份包含绝大部分动作的列表. 参数也很好记, 语法也非常简单清晰. 你只需要了解有规则的几种语法.:smile:地球上只有 Opera 才能给你带来这种绝佳的体验 :up:


  1. 介绍

  2. Menu

  3. | 可选择的

  4. > 切换

  5. & 并/结合

  6. Set preference

  7. Execute program 外部程序

  8. Go to page / Open url

  9. + 附加命令,二合一按钮

  10. 附:关于按钮图标的问题



介绍


Forward 即一个动作也是一个"完整"的命令, 表示前进. 你可以用到按钮, 菜单, 鼠标手势, 键盘快捷键, 语音控制当中, 所有的动作和参数都是通用的.
这里的区别是如果用到鼠标手势, 快捷键, 语音中,只需要动作 + 参数配合语法. 而用在按钮和菜单中略有不同, 区别就是按钮多了名称和图标还有点特殊的语法.
按钮标准语法
动作, 参数1, 参数2, 名称, 图标
一共有5个部分. 每个部分后面必须要加上,(逗号)直到最后一个部分. 缺省的部分用,(逗号)表示. "(引号)并不是必须的只在使用 Show popup menu/ Manage/ Go to page/ Set preference/ 这些命令中以及手动编辑 ini 文件中才需要详见下文. 名称也可以是数字, 即 menu.ini toolbar.ini 里定义的序号, 对应 Opera 的语言文件.
如何制作按钮? 你可以使用 在线按钮编辑器, 在第二项里输入命令定制你自己的按钮. 或者可以用这个 Widget, 然后将创建的按钮拖到你的 Opera 工具栏上或者单击添加我的按钮...
或者直接编辑 ini 文件, 命令中名称可以省略, 因为在前面已经定义...
ButtonX, "名称"=命令
(直接编辑 ini 文件, 如果你不熟悉不建议使用...)
论坛上可以使用
[opbut=命令]名称[/opbut]

HTML 代码的用法是
<a href="opera:/buuton/命令">名称</a>

如果参数中有加注引号 " 的部分用 %22 表示, 或者你可以用 ' 单引号
<a href="opera:/button/Manage,%22Notes%22,,Notes,Panel Notes">Notes</a>

<a href='opera:/button/Manage,"Notes",,Notes,Panel Notes'>Notes</a>


Menu


调用所有的菜单
Show popup menu,"Browser Menu Bar"

适用于快捷键, 鼠标手势, 语音 (动作+参数)
!! 引用菜单的部分必须在前后加上"(引号)
如大家熟悉的 F12 即 Tools > Quick Preferences, 它的命令是 Show popup menu, "Quick Preferences Menu"
这里的 Quick Preferences Menu 即菜单配置文件 menu.ini 中的 [Browser Menu Bar], 在 menu.ini 中所有带有 [ ] 的内容都可以引用, 或者 Submenu 的内容, 同样包括你自己新建的菜单
按钮
Show hidden popup menu,"Browser Menu Bar",,Menu,Group.open

Show hidden popup menu = 动作,"Browser Menu Bar" = 参数1,(逗号), = 参数2(没有参数2用,表示缺省值)Menu = 名称,Group,open = 图标
Show hidden popup menu 与 Show popup menu 的区别? button(Show hidden popup menu) button(Show popup menu)


| 可选择的


| 表示在几种状态下执行被激活即可用的动作. (通常是在两种状态下)
Highlight note | Highlight bookmark | Add to bookmarks

高亮笔记 | 高亮书签 | 添加到书签
按钮
Highlight note,,,Note,Note Web| Highlight bookmark,,,Bookmark | Add to bookmarks,,,Add,Missing bookmark

!! 这里有一个优先级的问题.
button, Highlight bookmark 这里没有设定图标, 是因为 对于少数(很少)命令 Opera 可以自动识别图标或者名称
也可以用做开启/关闭
Enable javascript | Disable javascript

Enable javascript,,,JS | Disable javascript

类似的开启/关闭命令用在 Menu 中不需要指定图标, 默认的选定状态图标为 Checkbox Skin.Selected
button, 这里的定义的名称可以放在第一个动作里, 或者第二个动作里, 不需要两个动作都定义名称, 因为它始终只能显示一个名称(不能切换), 用 | 做此类按钮在你按下按钮后将始终保持按下的状态
同样可以定义名称在第二个命令里, 名称必须使用冒号
Enable javascript | Disable javascript,,,"JS"

button


> 切换


> 表示从一种状态切换到另一种状态, 可以在多种状态下循环切换(1-2-3-1-2-3). 我不知道你能用几个 > monkey
!! > 不对所有动作有效!
View address bar,2 > View address bar,4 > View address bar,0

在屏幕上面显示地址栏 > 在屏幕下面显示地址栏 > 隐藏地址栏
View address bar,2,,53051 > View address bar,4,,53052 > View address bar,0,,53050

button, 你可以制定每个命令的名称和图标, 在不同的状态下会显示不同的按钮名称和图标.
开启/关闭
Enable plugins,,,Plugins Enabled,Checkbox Skin.Selected > Disable plugins,,,Plugins Disabled,Checkbox Skin

button, !! 这里开启的选项图标要用 Checkbox Skin.Selected.
类似的开启/关闭命令用在 Menu 中不需要指定图标, 默认的选定状态图标为 Checkbox Skin.Selected


& 并/结合


& 可以把几个动作结合在一起, 可以排列动作的先后顺序使之变成一个连贯(有几个动作结合起来)的动作.
Close page & Switch to next page

关闭页并转到下一个(左边的)页
page down & page down & page down

page down 表示滚屏,这里用了两个 & 以加快它的速度.
按钮
Close page,,,Close,"Caption Close Button Skin" & Switch to next page

button, ! 使用类似命令需要把名称和图标放在第一个命令中
page down,,,Down,Dropdown & page down & page down


Set preference


Set preference 这个动作可以控制 opera:config 中的所有的设置.
非常简单的, 只需要对照 opera:config 设置即可.
Set Preference,"分类|选项=值"

1 表示打开, 0 表示关闭, 其它参数请参阅 http://www.opera.com/support/usingopera/operaini/
opera:config#User Prefs|User JavaScript
Set preference, "User Prefs|User JavaScript=1" > Set Preference, "User Prefs|User JavaScript=0"

按钮, !! 这里的参数/命令/图标必须在前后加上"引号
Set preference, "User Prefs|User JavaScript=1",,"UserJS Enabled","Checkbox skin.selected" > Set Preference, "User Prefs|User JavaScript=0",,"UserJS Disabled","Checkbox skin"

button


Execute program 外部程序


Excute program 可以打开外部程序, 同样你可以使用快捷键或鼠标手势等打开外部程序 p:
Excute program, "路径/\程序"

!! 在参数的前后必须加上"引号.
Windwos 下某些程序不用绝对路径, 比如某些系统程序
按钮
Excute program,"路径/\程序","参数2","名称",图标

Execute program 也可以直接打开文件夹, 不需要调用其它程序, 在 Windows 下. button
"Execute program, "E:\",,"E:"



Go to page / Open url


Go to page 打开 URL & 执行 Javascript
Go to page,"URL"

!! 参数必须加注冒号, 在按钮里如果没有定义图标, 会使用该站点默认的图标. 图标也可以用文字定义!
Go to page, "http://www.opera.com",,Opera

还有4个灵活的命令可用, 同样支持 Javascript
Open url in current page, "URL"        (在当前页打开 URL)
Open url in new page, "URL"            (在新页面打开 URL)
Open url in new background page, "URL" (在后台新页面打开 URL)
Open url in new window, "URL"          (在新窗口打开 URL)

JavaScript (EMCAScript)
Go to page, "JavaScript code"

参考:http://operawiki.info/PowerButtons http://operawiki.info/BookMarklets


+ 附加命令二合一按钮


+ 可以把两个命令放在一个按钮里, 或者说把两个按钮变成一个按钮!
在一个常规的按钮命令后面可以使用 + 来实现第二个命令的功能. 这里通常根据 Opera 默认的按钮来看都是一个菜单
Set preference, "User Prefs|Rendering mode=-1",,"Fit to width Enabled","Checkbox skin.selected" > Set preference, "User Prefs|Rendering mode=0",,"Fit to width Disabled","Checkbox Skin" + Show hidden popup menu, "Images Menu"

button, 你会发现这个命令很普通, 那里有第二个命令? 因为 + 后面用了 Show hidden popup menu 所以你需要按住这个按钮2秒才会调出 + 后面的命令. 试一试默认前进后退按钮 p:
如果 + 后面使用 Show popup menu 则会在按钮旁边有一个下箭头即你可以直接执行第二个命令
Manage bookmarks,,,67398,Panel Bookmarks + Show popup menu,"Browser Bookmarks Menu"

button, 这个按钮按左边是管理书签, 按右边弹出书签菜单
问题
使用 + 也许不能执行某些动作 ...
Show hidden popup menu,"Closed Pages Menu",,Closed/Clear cache,Trash + Clear Disk Cache

button, [这个关闭页面列表 + 清除缓存的命令本来在 9.0 fianl 8502 中可以使用(单击打开关闭页面列表,按住两秒清除缓存), 但是在 9.01 Weekly Build 8518 里却不能使用清除缓存了...Fixed:8533]

高级技巧
理论上你可以使用 + Show popup menu & 命令 或者 + Show hidden popup menu & 命令 将任何命令连接起来
前者可以有选择制定两个不同的命令, 后者按住2秒执行第二个命令
例子
Show preferences,-1,,Prefs/Config,"Panel info" + Show popup menu &  Enable Javascript & Go to page,"opera:config"

button, 首选项 + 打开 opera:config.
点击下箭头执行第二个命令
Show hidden popup menu,"Closed Pages Menu",,Closed/Clear cache,Trash + Show hidden popup menu & Clear Disk Cache

button,
按下弹出关闭页面列表菜单, 按住2秒清除缓存.

外部程序当然也可以用, 某日看到一个 "老外" 想要要一个 Open IE/FF 的 combo 按钮
Execute program, "iexplore", "%u", "inIE+FF" +  Show popup menu & Execute program, "firefox", "%u"

button
按左打开当页在 IE 里, 按右打开当前也打开在 FF 里

最后要说每个人和每个人的习惯不同, 所以写了这篇文章, 希望大家可以按照自己的习惯和需求来打造你的 Opera!

附: 关于按钮图标的问题


Opera 皮肤对应的按钮, 看 这里
你也可以这款 Opera 皮肤编辑器, 支持的皮肤还不少
或者解压你的皮肤 zip 文件(默认皮肤在 Opera/skin, 单独安装的皮肤在 Opera/profile/skin) 然后打开对应的文件夹默认是 /Buttons /icons 找到你喜欢的图标, 复制图标文件名然后打开 skin.ini 搜索
Window Browser Icon= icons/opera.png

Window Browser Icon 即图标命令
如果想添加新的图标, 将图标放在按钮文件下, 比如放在 buttons 下面
然后在 skin.ini 中的 [Image] 下添加
自定义名称 = buttons/图标文件名.png

请使用 PNG 格式的图像,默认皮肤的图标大小是 24X24
如果你想自己制作图标推荐使用 GIMP (all platforms/freeware)

last updated 2007/11/04

TestWidgetize

Comments

fav 9. December 2006, 17:06

不错,写的非常好

mark_poleon 9. December 2006, 17:15

Thanks

wealanz 25. December 2006, 16:31

How to add "Forward to"

cj8631 24. March 2007, 14:40

难得的好文章,学习了。
我想将高亮关键词userjs写成右键,不知怎么写?
高亮关键词userjs原贴

mark_poleon 24. March 2007, 16:54

你要把那个高亮的按钮写成右键? 还是把整个 JS?

cj8631 25. March 2007, 05:00

JS还是放在JS文件夹里,只是将高亮的按钮写成右键。

mark_poleon 25. March 2007, 06:09

Item, "自定义名称" = 命令/动作
(与按钮的语法命令相同, 不用在写名称因为 Item 后面已经写过)

我写的一篇菜单定制指南 http://my.opera.com/mark_poleon/blog/opera-menu-guide 提点建议?

cj8631 26. March 2007, 08:52

直接按照Highlight按钮的命令写法
Item, Highlight = Search, "javascript:UltimateHighlightKeywords('%s');"

或者按照执行JS的命令写法
Item, Highlight = Go to page, "javascript:UltimateHighlightKeywords('%s');"

都出错了。

AutoXBC 2. October 2007, 15:30

楼上的问题过了好久,可能已经解决了,不过既然看到了还是说一下,"高亮"菜单的参数用的不对,应该是 %t 。