About:Opera

分享折腾 Opera 的领会,但不提供手把手辅导服务,PLMM除外

Subscribe to RSS feed

Sticky post

关于此blog。经期无定时且特别长

见blog title便知,本blog主要是关于Opera的各种东东。交流下折腾经验为主吧。
有爱自然有恨,折腾出感情也自然折腾出怨念,所以偶尔吐槽下Opera想必也无可避免。毕竟吐槽点很多很多。。。。。。

以前一直没用过My Opera的blog,那时对My Opera有没有被墙无所谓。2010年有一天竟突然畅通无阻,被褫夺GFW金牌认证,实属耻辱哪。。。现在不被墙的外国网站哪好意思出来见人哪 — —||。。。现在既然在这里写blog心态就不一样了,但愿此地不要再被墙。

吐槽一个关于用手势运行javascript的bug

, ,

Opera 有很强的自定义能力,鼠标手势就是一例。Opera 的鼠标手势,可以做的事情远不止前进后退、页底页顶等等几个用途。你可以在手势里面设置相当多样化和复杂的功能,如果你懂得利用 Opera 的内部命令和一些脚本语言例如 javascript 。

但是呢,总有那么些 bug ,要在你折腾 Opera 甚欢之时无法预料地拦在面前,给 Opera 的自定义能力打折扣。鼠标手势也有这窘况。

想做这么个手势,右键(鼠标手势当然是右键啦 - -|| )向下划 ↓ :如果没有文字被选择,鼠标位置也不在超链接上,那就到达页底;如果有文字被选择了,就搜索这段文字,如果这段文字是网址形式的,就打开这个网址;如果鼠标位置在超链接上,没文字被选择,就是后台打开链接。

一个简单动作,实现不同情况下做不同的事,Opera 的手势有这个能耐,有时只需内部命令连接符“|”就可以,但是上述情况必须用javascript 才有可能。

为了取得鼠标所在位置的超链接地址,可以用 document.activeElement.href ,但是在框架中的链接,这招就无力应对了。还好 Opera 有ini变量,其中一个是:%l。(ini变量,就是只有写在ini后缀名的文件里时才能使用的变量,%l代表超链接地址)%l 可以用在
Go to page,"javascript:var url='%l';然后这样这样那样那样..."
这种地方,不受框架影响。

满心欢喜,试验途中却不料撞 bug。。。

利用手势调用的 javascript ,Opera 10.1 能在其中使用 var url='%l' 获得超链接的地址,我使用的 Opera 10.63 却不能这么做,试下11也不行。。。

也就是说,这个计划要实现的手势,我只能眼睁睁看着它成为浮云,除非捡回 10.1 或者更老版本 = =

我在OC(bbs.operachina.com)报了这个 bug :无法在手势中的javascript里面使用'%l'作为变量

这么低优先级的 bug,等 Opera 修复真是。。。遥遥无期望穿秋水。。。

Opera内部命令:Open folder

,

又是一个生僻命令。至少自从 Opera 10.0 以来就有,但是火星了很久,前个礼拜才知道 = =

站点首选项>显示>我的样式表 的Filechooser 选择框 里,右键菜单>打开文件夹,就是这个东东。。。一年多以来都没在这里尝试点下右键,囧
功能是打开 Filechooser 框里所填的文件的所在文件夹,比方说我的 bbs.operachina.com 的 站点首选项>显示>我的样式表 里面填的是
D:\Program Files\Opera 10.6\profile\styles\OS.X.OperaChina.css

对此使用 右键菜单>打开文件夹,将用Windows的资源管理器(当然,系统不是Windows的另计)打开
D:\Program Files\Opera 10.6\profile\styles\

如果系统实际上不存在 D:\Program Files\Opera 10.6\profile\styles\OS.X.OperaChina.css 这个文件,使用这个 打开文件夹 不会有任何反应。

这个命令还能用于站点首选项>脚本>JavaScript文件夹,但是如果这里填写了两个文件夹也不能用这个命令(可以指定两个User JavaScript文件夹,用半角逗号分隔开即可)。
也能用于 首选项>高级>下载>下载文件夹 (即 Opera 的默认下载文件夹) 的 Filechooser里面。利用这点,于是有了下面这个按钮:

点击以下链接,可添加一个按钮。这个按钮分 短按长按 不同功能 (对,我就是短按、长按双功能按钮控(╯3╰)。。。)
短按是 打开 Opera 的默认下载文件夹,正是利用了上面提及的 Open folder ;
长按是 打开最近一次用 Opera 下载的文件所在的路径(那次下载必须调出了系统的 “另存为” 对话框才算数。如果最近一次下载是用 Opera 自带的 “快速下载” 或 “保存到下载文件夹” 的话就不算)。其实长按功能和 Open folder 命令没啥关系。

默认/最近-下载文件夹
代码如下
Button, "默认/最近-下载文件夹"=Show preferences,16,,"默认/最近-下载文件夹", "Folder.open" & Delay, 1 & Focus previous widget & Focus previous widget & Focus previous widget & Focus previous widget & Focus previous widget & Select all & Open Folder & Delay, 1 & Cancel + new browser window & minimize window & Go to page, "opera:config" & Delay, 1 & Stop & Go to page, "location.href='file://localhost/'+opera.getPreference('Saved Settings','Save Dir');" & Delay, 300 & Execute program, "explorer.exe", "%u" & Delay, 10 & Close page

Opera内部命令:Open file in

这个命令很生僻,不久前才尝试明白是干嘛用的。话说干嘛蛋疼去折腾介个命令呢,为了消解蛋疼,有时会去 http://wiki.operachina.com/内部命令列表 逛逛,一大堆命令还没表明意义和用法,偶然从中抽到这条命令就试着搞懂是啥子用法。。。废话over

Open file in ,功能是使用默认的关联程序打开一个文件:
Open file in, "D:\Program Files\Opera\styles\about.css"

Open file in, "D:\movies\1.wmv"

上面两例中,把 Open file in 替换成 Execute program 有一样的效果:
Execute program, "D:\Program Files\Opera\styles\about.css"

Execute program, "D:\movies\1.wmv"

两者都是用系统设置的的关联程序打开文件,就是说 Open file in 命令的效果就和双击这个文件一样。

所以 Execute program 也可胜任 Open file in 的功能,而且前者还能调用非默认关联程序打开文件:
Execute program, "D:\Program Files\notepad2\notepad2.exe", "D:\Program Files\Opera\styles\about.css"

不知道为什么要造出 Open file in 这条命令。