Mac OS X 10.4 の Safari 1.3 で選択文字列を取得するスクリプトが動かなくなっていました。Safari のセキュリティが強化された結果らしいのですが。
Safari のスクリプティングって結局のところ JavaScript なんですが、選択文字列の取得は do JavaScript で行っていたんです。で、Safari 1.3 は、JavaScript の脆弱性に対処がなされているようで、このスクリプトを使っても空文字列しか返ってこないのです(Mac OS X 10.3.9 の頃からのことですが)。
いろいろと探してみると、やっぱり JavaScript を使うのですが、選択文字列を取得する方法がありました。
tell application "Safari"
set selectedText to ""
if exists front document then
set selectedText to do JavaScript "getSelection()+''" in front document
end if
return selectedText
end tell
何が違うのかがよく分かっていないのですが。分からないので JavaScript について調べる。JavaScript 使えば、画像もリンクも簡単に見つけられる、ということに今更気づく...。
0 件のコメント :
コメントを投稿