Merlin用opera_exの代わり、但しWindows専用
「とんぼ」が飛ぶ季節になったのに「何を今更 Merlin?」な気もしますが、、、、、
「出来ちゃった」のでエントリーしてみますよ。(同じ様なものはきっと他の人も作ってるとは思うけど)
何の事は無いのですよ!
↓のスクリプトで Delay & Copy & Cancel をやってるだけだし。
Copy-Cancel.vbs(ダウンロードはリンクを右クリックして「リンク先を保存(Save Linked Content As)」でどうぞ) *1
Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") WScript.Sleep 100 WshShell.SendKeys "^{INSERT}" WScript.Sleep 100 WshShell.SendKeys "+{TAB}" WScript.Sleep 100 WshShell.SendKeys "{ENTER}"
で ↓を [Hotclick Popup Menu] に書く。
Copy with link
item, "Copy with link" = "Go to page, "javascript:(function(){window.prompt('','<a'+String.fromCharCode(32)+'href='+String.fromCharCode(34)+location.href+String.fromCharCode(34)+String.fromCharCode(32)+'title='+String.fromCharCode(34)+document.title+String.fromCharCode(34)+'>'+window.getSelection()+'</a>')})();" ,,,"Panel Links" & Execute program, "D:\Opera\misc\Copy-Cancel.vbs" "
と
blockquote
item, "blockquote" = "Go to page, "javascript:(function(){window.prompt('','<blockquote'+String.fromCharCode(32)+'cite='+String.fromCharCode(34)+location.href+String.fromCharCode(34)+String.fromCharCode(32)+'title='+String.fromCharCode(34)+document.title+String.fromCharCode(34)+'><p>'+window.getSelection()+'</p></blockquote>')})();" ,,,"Tile vertically" & Execute program, "D:\Opera\misc\Copy-Cancel.vbs" "
ということでテスト。
変数が複数あると動かない 9.5 beta2 では、opera_ex が動きません。そこで「opera_exを使わないでコピー強化ver.2」等を参考にした記述を [Hotclick Popup Menu] に追記してみた。
追記
「opera_exの代わり」をツールバーのボタンからも実行できるように Button に仕立ててみました。
↓こちら
「opera_ex の代わり」の「Copy with link」「blockquote」ButtonをOperaにインストール
当初、アイコンの指定がうまく出来ていませんでしたが、ちゃんと設定する事ができました。当初の設定のボタンをインストールしている方はお手数ですがもう一度↑のページからインストールし直してください。
弁解になりますが、どうも opera:/button/ のアンカーはかなりの曲者って感じました。
¥(バックスラッシュ)のエスケープは使えないし、
&(アンパサント)で複数のコマンドを実行する場合のアイコン指定も一筋縄ではない。
\x22 なら一般的手法で %22(%2522) や "(%26quot;) や String.fromCharCode(34) に逃げられるけれども
&の件は、 Opera が opera:/button/ を処理する時の「癖」と云うか「仕様」と云うか「バグ?」の様な気がしないでもない?
なので、忘れないように(忘れた時の為に?)メモして置くと
opera:/button/〜のアンカーで icon を指定する方法 :
& で区切って複数の command を実行する場合最初の command で icon 指定するのは menu.ini と同じだが、 & で区切った最後の command が " で終わっていない場合 " で終わる様に工夫する ⇒ ダミーで最後の command にも もう一度 icon を指定してやる
具体的には
opera:/button/Go to page, "javascript:(function(){ (中略)})();" ,,,"Panel Links" & Delay, 100 & Copy & Cancel
だとうまくいかないので最後に「,,,,"Panel Links"」を追加して
opera:/button/Go to page, "javascript:(function(){ (中略)})();" ,,,"Panel Links" & Delay, 100 & Copy & Cancel,,,,"Panel Links"
の形にしてからOperaボタンエディター - 備忘録のぺえじのページの上側のテキストエリアに入れて「ボタンを生成(URLエンコード)する」と うまくいく。