Opera内部アクション、というかコンテキストメニューを触る
OperaがOpera的な意味でメジャーバージョンアップするたびに様々な挙動が不審変更されるのは今になって始まったことではないのですが、Operaのコンテキストメニューに関する謎、というか力業で解決した問題があったり。
Opera内部アクションでOpera_ex風を実行すると、画面にnullが返ってくる
id:edvakfさんの
- JavaScript+内部アクションでopera_exのようなことができないものか - by edvakf in hatena
- http://d.hatena.ne.jp/edvakf/20071225/1198560414
- opera_exを使わないでコピー強化ver.2 - by edvakf in hatena
- http://d.hatena.ne.jp/edvakf/20080109/1199834937
あたりを参考にして、Opera_ex風にコピペするのを[Hotclick Popup Menu]セクションに仕込んでいるのですが、
Item, "ついったーでみてる" = Go to page, "javascript:window.prompt('','browsing: '+document.title+' '+location.href);" & Delay, 100 & Copy & Cancel
これで動かすと、OperaのJSのダイアログが一瞬出てきた後に、下のスクリーンショットみたいに画面にnullが返ってくるという話。
ただし、クリップボードにはしっかりとコピペしたい文字列は格納されている。
browsing: opera_exを使わないでコピー強化ver.2 - by edvakf in hatena http://d.hatena.ne.jp/edvakf/20080109/1199834937
「戻る」を押せば元の画面に戻れるので、
Item, "ついったーでみてる" = Go to page, "javascript:window.prompt('','browsing: '+document.title+' '+location.href);" & Delay, 100 & Copy & Cancel & Delay, 100 & Back
とか、いかにもそのまんまの記述をして無理やり元の画面に遷移させているけど、もうちょっとスマートな解決策はないものですか…orz
いつの間にかパーセントエンコーディングの扱いが変わっていた
[Document Popup Menu]のセクションにはてな記法一覧を仕込んでいるのだけど、
Item, "はてな記法一覧を開く" = New page & Go to page, "http://hatenadiary.g.hatena.ne.jp/keyword/%e3%81%af%e3%81%a6%e3%81%aa%e8%a8%98%e6%b3%95%e4%b8%80%e8%a6%a7"
とそのまま書くと、
http://hatenadiary.g.hatena.ne.jp/keyword/31f31631a888635480867
と、わけのわからないURLにデコードされてしまう。
どうも%%
としてエスケープしないといけないらしく、
Item, "はてな記法一覧を開く" = New page & Go to page, "http://hatenadiary.g.hatena.ne.jp/keyword/%%E3%%81%%AF%%E3%%81%%A6%%E3%%81%%AA%%E8%%A8%%98%%E6%%B3%%95%%E4%%B8%%80%%E8%%A6%%A7"
とすることで、正しいURLに飛んでくれるようになった。
余談だけど、私的 Opera まとめページやOpera Wikiの情報がちょっと古くなってしまっているのは残念。