上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--|スポンサー広告||TOP↑
こんだけ。

tell application "Safari" to if (URL of document 1) ends with ".webarchive" then open location (do JavaScript "document.URL" in document 1)

tell application "Safari" to do JavaScript "document.URL" in document 1
というのは、通常は
tell application "Safari" to URL of document 1
と同じ結果を返すだけなんですが、
document 1 がWebarchiveのときだけ元URLを勝手に取ってきてくれます。
なんでそうなのかは知りません^^;

ちなみにWebアーカイブ書類をProperty List Editorで開くと
Root>WebMainResource>WebResourceURLに元URLを確認できるので

tell application "System Events" to |WebResourceURL| of (value of property list item "WebMainResource" of property list file [アーカイブ書類のパス] as record)

とやっても元URLを取り出すことができます。

motourl.jpg


※このエントリーはOS X 10.4.2、Safari 2.0(412.2.2)、スクリプトエディタ 2.1(80)という環境を前提に書かれています。

追記: 2006年1月25日
do JavaScript "location.href" in document 1
としても同じ結果が得られるようです。


明示的に処理してるわけでもないのに勝手に役に立ってくれるスクリプト、
ということで思い出したのでオマケ。

tell application "Safari" to set the clipboard to (URL of document 1) as text

単に最前面ページのURLをクリップボードに入れなさい、というだけのスクリプトなんですが、頼みもしないのにアドレスバーの文字列に含まれる日本語をURLエンコードしてくれます。Googleの検索結果を掲示板に貼付けるときなどに便利な反面、日本語混じりのままの文字列を取得したいときは困ります^^;

追記
取得時にエンコードされるわけじゃなくて
"Safariのアドレスバーに表示するときに限ってデコードされている"
と考えるべきなのかも、とふと思いました。
そういうのがわかる人になりたいです。
スポンサーサイト
08/28|AppleScriptコメント(0)トラックバック(0)TOP↑
この記事にコメント
名前:
コメントタイトル:
メールアドレス:
URL:
コメント:

パスワード:
管理人だけに表示:
管理者にだけ表示を許可
この記事にトラックバック
プロフィール

AquaBowler

  • Author:AquaBowler
  • 現在の Mac 環境:
    iBook Late2001
    Mac OS X 10.4.11
フリーエリア
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブログ内検索
RSSフィード
リンク
del.icio.us
feed meter

RSS feed meter for http://kotoerisan.blog16.fc2.com/

FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。