右クリック一括検索のSafari6対応

Safari6.0になって、今まで新規ウィンドウを開いてページを表示していた処理が同一ウィンドウの新規タブでページが開くようになりました。これはこれで便利な場面もあるのですが、右クリックで複数のサイトを一括検索する場合は、調べ終わって全部のページを消す時に面倒くさいです。そこで、Safari6でも新規ウィンドウを開いて一括検索するようにしました。

ソースコード

set urlList to {"http://www.google.com/search?q=","http://www.google.com/search?as_st=y&tbm=isch&hl=en&as_epq=&as_oq=&as_eq=&cr=countryUS&as_sitesearch=&safe=images&orq=&tbs=ctr:countryUS,itp:clipart&biw=1067&bih=1142&sei=XKG4T6pepOKYBe32qcAJ&as_q=", "http://chiebukuro.search.yahoo.co.jp/search?flg=3&class=1&UTF-8=ei&fr=common-navi&dnum=2078297840&p=", "http://idioms.thefreedictionary.com/", "http://ejje.weblio.jp/content/"}
set clipboardString to (get the clipboard)
set encodedString to my URLencoding(clipboardString)
set numURLs to (count urlList)
tell application "Safari"
make new document
activate
tell window 1
set URL of document 1 to (item 1 of urlList) & encodedString
repeat with i from 2 to (numURLs)
set current tab to (make new tab)
set URL of document 1 to (item i of urlList) & encodedString
end repeat
end tell
end tell
on URLencoding(input)
set quotedInput to quoted form of input
 set encodedString to do shell script "/usr/bin/python -c 'import sys, urllib; print urllib.quote(sys.argv[1])' " & quotedInput
 return encodedString
end URLencoding

変更内容

“open location”が新規ウィンドウをではなく新規タブを開くようになったので、このコマンドの代わりに次の命令で新規ウィンドウを開くようにしました。

make new document

そして、開いた新規ウィンドウにはタブが1つあるので、1つ目の検索だけ次のコマンドでURLを表示しています。

set URL of document 1 to


関連記事