「Safari の RSS アイコンをクリックしたら、使っている RSS リーダーで登録をしてほしいよね」というお話。
Safari の RSS アイコンっていうのは、アドレスバーの右側に出てくるやつです。
利用している RSS リーダーがローカル環境で動かすアプリケーションならそれほど面倒なことではないのかもしれない。Safari の環境設定のデフォルト RSS リーダーに指定すればいいのです。だけど使っているのが Web アプリケーションだったなら?
具体的にいうと livedoor Reader。RSS アイコンをクリックしたら livedoor Reader で RSS の購読を行いたい。Firefox なんかだとそういう設定ができた。Bookmarklet を使え、という話もあるけどそこはそれ。大人の事情により、触れることはいたしません。
Safari の RSS アイコンをクリックすることで livedoor Reader に登録することは簡単にできます。やり方は以前から知っていた(Safari の RSS アイコンをクリックしたら Bloglines に登録されて欲しいよね : blog.imladris.jp)。
では、試してみましょう。
まず、以下のようなスクリプトをバンドル形式のアプリケーションとして保存します。
on open location thisURL
display dialog thisURL
end open location
保存したらバンドルの中にある Info.plist に以下のように追加の記述を行います。
<key>CFBundleIdentifier</key>
<string>com.DeveloperName.ApplicationName</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>RSS URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>feed</string>
</array>
</dict>
</array>
Info.plist を保存し、いったんログアウトし、再度ログインします。
Safari の環境設定でデフォルト RSS リーダーに Info.plist を書き換えたこの AppleScript アプリケーションを指定します(一覧に表示されると思います)。
これでアドレスバーの RSS アイコンをクリックすると、この AppleScript アプリケーションが起動し、渡された URL を表示します。
ここまで確認できたら本来の目的の livedoor Reader に登録するのは簡単です。
on open location thisURL
if thisURL starts with "feed://" then
set num to offset of ":" in thisURL
set targetURL to "http" & (text num thru -1 of thisURL)
-- display dialog targetURL
continue open location "http://reader.livedoor.com/subscribe/" & targetURL
end if
end open location
渡される URL は feed で始まっているのでこの部分を http に変更します。そして、livedoor Reader の URL にくっつけて open location で開くと、livedoor Reader の登録画面に移動します。
0 件のコメント :
コメントを投稿