Safariで表示されているページをFireFoxで表示する
選択した住所をYahoo地図で検索する
Yahoo地図で表示している地図をGoogleマップで表示する(その逆も)
選択した語句をexciteの英和・和英辞典で調べる
Safariで表示しているページをexciteやGoogleで翻訳する
Safariで選択した語句をgoogleで翻訳する
自動リンクになってないURLやttp://、wwwなどで始まってるURLを選択して開く
全角のURLを選択して開く
Safariのウインドウを整頓する
★ Safariで現在表示されているページをFireFoxで表示するアップルスクリプト
いわゆる「たすけてキツネ」です。
--tasuketekitune tell application "Safari" set curl to URL of document 1 end tell tell application "Firefox" OpenURL curl activate end tell
★ 選択した住所をYahoo地図で検索するアップルスクリプト
スクリプトを使用するにあたっては、「システム環境設定」の「ユニバーサルアクセス」の「補助装置にアクセスできるようにする」のチェックをオンにしてください。
--選択した住所をYahoo地図で検索 set cb to the clipboard as record tell application "System Events" tell application process "Safari" tell application "Safari" to activate delay 0.5 keystroke "c" using command down delay 0.5 set address to the clipboard end tell end tell set the clipboard to cb if address contains return then set address to do shell script "echo " & quoted form of address & " | sed s/" & return & "//g" set escaddress to do shell script "echo " & quoted form of address & "| iconv -f UTF-8-MAC -t EUC-JP | perl -pe '~s/([^?w ])/¥"%¥".unpack(¥"H2¥", $1)/eg;'" set escaddress to characters 1 thru -4 of escaddress as Unicode text tell application "Safari" open location "http://search.map.yahoo.co.jp/search?p=" & escaddress & "&pref=&skind=" end tell
★ Yahoo地図で表示している地図をGoogleマップで表示するアップルスクリプト(その逆も)
使い方はちょいと面倒ですが、スクロール地図の性質上しゃーないってことで。
Yahoo地図では地図右上の「この地図のURL」をクリックし、表示されたURLをクリックしてからスクリプトを実行します。
Googleマップでは地図右上の「リンク」をクリックしてからスクリプトを実行します。
--Yahoo地図⇔Googleマップ 2009年8月のYahoo地図リニューアルに対応 set convurl to "" tell application "Safari" set clp to do JavaScript "var slct = escape(window.getSelection()); unescape(slct);" in document 1 if clp contains "map.yahoo" then set AppleScript's text item delimiters to "&lat=" set clp to text item 2 of clp set AppleScript's text item delimiters to "&lon=" set ido to text item 1 of clp set clp to text item 2 of clp set AppleScript's text item delimiters to "&z=" set keido to text item 1 of clp set clp to text item 2 of clp set AppleScript's text item delimiters to "&mode=" set syuku to (text item 1 of clp) as number set syuku to syuku - 1 set convurl to "http://maps.google.co.jp/maps?ie=UTF8&ll=" & ido & "," & keido & "&spn=0.0,0.0&z=" & syuku set AppleScript's text item delimiters to "" end if if clp contains "maps.google" then set AppleScript's text item delimiters to "&ll=" set clp to text item 2 of clp set AppleScript's text item delimiters to "," set ido to text item 1 of clp set clp to text items 2 thru 3 of clp as Unicode text set AppleScript's text item delimiters to "&spn=" set keido to text item 1 of clp set clp to text item 2 of clp set AppleScript's text item delimiters to "&z=" set syuku to (word 1 of text item 2 of clp) as number set syuku to syuku + 1 set convurl to "http://map.yahoo.co.jp/pl?type=scroll&lat=" & ido & "&lon=" & keido & "&z=" & syuku & "&mode=map&pointer=on&datum=wgs" set AppleScript's text item delimiters to "" end if if convurl is "" then display dialog "Yahoo地図では地図右上の「この地図のURL」をクリックし、表示されたURLをクリックしてからスクリプトを実行します。" & return & "Googleマップでは地図右上の「リンク」をクリックしてからスクリプトを実行します。" giving up after 10 return end if open location convurl end tell
★ 選択した語句をexciteの英和・和英辞典で調べるアップルスクリプト
スクリプトを使用するにあたっては、「システム環境設定」の「ユニバーサルアクセス」の「補助装置にアクセスできるようにする」のチェックをオンにしてください。
--選択した単語をexciteの英和・和英辞典で調べる set cb to the clipboard as record tell application "System Events" tell application process "Safari" tell application "Safari" to activate delay 0.5 keystroke "c" using command down delay 0.5 set surl to the clipboard end tell end tell set the clipboard to cb if surl contains return then set surl to do shell script "echo " & quoted form of surl & " | sed s/" & return & "//g" set surl to "http://www.excite.co.jp/dictionary/japanese_english/?submit=+検+索+&match=beginswith&search=" & surl tell application "Safari" open location surl end tell
★ Safariで表示しているページをexciteやGoogleで翻訳するアップルスクリプト
tell application "Safari"
set currenturl to URL of document 1
set sites to choose from list {"自動→日 google", "英→日 excite", "英→日 infoseek", "英→日 google", "英→日 excite & infoseek & google", "中→日 excite", "中→日 infoseek", "中→日 google", "韓→日 excite", "韓→日 infoseek", "韓→日 google", "仏→日 google", "西→日 google", "独→日 google"} with prompt "翻訳サイトを選択" default items {"自動→日 google"}
if sites is false then return
if item 1 of sites is "自動→日 google" then open location "http://translate.google.com/translate?hl=ja&sl=auto&u=" & currenturl
if item 1 of sites is "英→日 infoseek" or item 1 of sites is "英→日 excite & infoseek & google" then open location "http://translation.infoseek.co.jp/?ac=Web&lng=en&selector=0&submit=&dsp=0&web_translate_url=" & currenturl & "&outer="
if item 1 of sites is "英→日 excite" or item 1 of sites is "英→日 excite & infoseek & google" then open location "http://www.excite.co.jp/world/english/web/?wb_url=" & currenturl & "&wb_lp=ENJA"
if item 1 of sites is "英→日 google" or item 1 of sites is "英→日 excite & infoseek & google" then open location "http://translate.google.com/translate?hl=ja&sl=en&u=" & currenturl
if item 1 of sites is "中→日 excite" then open location "http://www.excite.co.jp/world/chinese/web/?wb_url=" & currenturl & "&wb_lp=CHJA"
if item 1 of sites is "中→日 infoseek" then open location "http://translation.infoseek.co.jp/?ac=Web&lng=zh&web_translate_url=" & currenturl
if item 1 of sites is "中→日 google" then open location "http://translate.google.com/translate?hl=ja&sl=zh&u=" & currenturl
if item 1 of sites is "韓→日 excite" then open location "http://www.excite.co.jp/world/korean/web/?wb_url=" & currenturl & "&wb_lp=KOJA&wb_dis=2"
if item 1 of sites is "韓→日 infoseek" then open location "http://translation.infoseek.co.jp/?ac=Web&lng=ko&web_translate_url=" & currenturl
if item 1 of sites is "韓→日 google" then open location "http://translate.google.com/translate?hl=ja&sl=ko&u=" & currenturl
if item 1 of sites is "仏→日 google" then open location "http://translate.google.com/translate?hl=ja&sl=fr&u=" & currenturl
if item 1 of sites is "西→日 google" then open location "http://translate.google.com/translate?hl=ja&sl=es&u=" & currenturl
if item 1 of sites is "独→日 google" then open location "http://translate.google.com/translate?hl=ja&sl=de&u=" & currenturl
end tell
★ Safariで選択した語句をgoogleで翻訳するアップルスクリプト
tell application "Safari"
set slct to do JavaScript "var slct = escape(window.getSelection()); unescape(slct);" in document 1
if (source of document 1) contains "frameset" is true or slct is "" then
set slct to do JavaScript "var slct = window.getSelection().toString(); if (! slct){if (frames.length){\n for (var i = 0; i < frames.length; i ++ ){slct = frames[i].getSelection().toString(); if (slct) break;}}}" in document 1
end if
if slct is "" then
set cb to the clipboard as record
tell application "Safari" to activate
delay 0.5
tell application "System Events" to keystroke "c" using command down
delay 0.5
set slct to the clipboard
set the clipboard to cb
end if
if slct is "" then return
if slct contains return then set slct to do shell script "echo " & quoted form of slct & " | sed s/" & return & "//g"
set sites to choose from list {"自動→日", "英→日", "中→日", "韓→日", "仏→日", "西→日", "独→日", "伊→日"} default items {"自動→日"} with prompt "" & return & "を翻訳"
if sites is false then return
if "自動→日" is in sites then open location "http://translate.google.com/?hl=ja#auto|ja|" & slct
if "英→日" is in sites then open location "http://translate.google.com/?hl=ja#en|ja|" & slct
if "中→日" is in sites then open location "http://translate.google.com/?hl=ja#zh-CN|ja|" & slct
if "韓→日" is in sites then open location "http://translate.google.com/?hl=ja#ko|ja|" & slct
if "仏→日" is in sites then open location "http://translate.google.com/?hl=ja#fr|ja|" & slct
if "西→日" is in sites then open location "http://translate.google.com/?hl=ja#es|ja|" & slct
if "独→日" is in sites then open location "http://translate.google.com/?hl=ja#de|ja|" & slct
end tell
★ 自動リンクになってないURLやttp://、wwwなどで始まってるURLを選択して開くアップルスクリプト
スクリプトを使用するにあたっては、「システム環境設定」の「ユニバーサルアクセス」の「補助装置にアクセスできるようにする」のチェックをオンにしてください。
--選択したURLを開く set cb to the clipboard as record tell application "System Events" tell application process "Safari" tell application "Safari" to activate delay 0.5 keystroke "c" using command down delay 0.5 set surl to the clipboard end tell end tell set the clipboard to cb if surl contains return then set surl to do shell script "echo " & quoted form of surl & " | sed s/" & return & "//g" if surl contains " " then set surl to do shell script "echo " & quoted form of surl & " | sed s/" & quoted form of " " & "//g" if surl contains "://" then set AppleScript's text item delimiters to "://" set surl to "http://" & text item 2 of surl else set surl to "http://" & surl end if tell application "Safari" open location surl end tell
★ 全角のURLを選択して開くアップルスクリプト
全角半角が混在していても可。スクリプトを使用するにあたっては、「システム環境設定」の「ユニバーサルアクセス」の「補助装置にアクセスできるようにする」のチェックをオンにしてください。
set cb to the clipboard as record
tell application "System Events"
tell application process "Safari"
tell application "Safari" to activate
delay 0.5
keystroke "c" using command down
delay 0.5
set zenurl to the clipboard
end tell
end tell
set the clipboard to cb
set zentext to zenurl
set zentable to " !?#$¥%&@.,:;()[]{}/\_|^`〜’”+−<=>*0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
set hantable to " !?#$\¥%&@.,:;()[]{}/\\_|^`~'\"+-<=>*0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
set hantext to ""
considering case
repeat with x in zentext
set y to 1
set convtext to x as string
repeat 96 times
if convtext contains (item y of zentable) then
set convtext to (item y of hantable) as string
exit repeat
end if
set y to y + 1
end repeat
set hantext to hantext & convtext
end repeat
end considering
set hanurl to hantext
tell application "Safari"
open location hanurl
end tell
★ Safariのウインドウを整頓するアップルスクリプト
横縦のサイズは2行目の値(ここでは800, 740)、重なったウインドウのずれ幅は11行目の値(ここでは0)です。各自のモニタ環境や好みに合わせて任意に設定してください。
tell application "Safari"
set {hida, ue, migi, shita} to {0, 22, 800, 740} --横縦のサイズ
set mado to number of window
repeat while mado > 0
if miniaturizable of window mado is false then
set mado to mado - 1
else
if name of window mado is "Downloads" then
set bounds of window "Downloads" to {0, 600, 300, 750}
set mado to mado - 1
set {hida, ue, migi, shita} to {hida + 0, ue + 0, migi + 0, shita + 0} --重なったウインドウのずれ幅
else
set bounds of window mado to {hida, ue, migi, shita}
set mado to mado - 1
set {hida, ue, migi, shita} to {hida + 0, ue + 0, migi + 0, shita + 0}
end if
end if
end repeat
end tell