IE8のアクセラレータを作ってみた
久しぶりにエンジニアブログ登場のmilanoです。
こんにちは。
さて、先週のことですが、mixiをさらにオープン化するためのさまざまな施策がリリースされましたね。
その中でも、個人的に気になるSimplePostに注目してみました。
突然ですが、エンジニアブログ読者のみなさまはFirefoxとかChromeとかが大好きだと思います。Internet Explorerを使っている人は少ないのかもしれません。
でも、私はInternet Explorerが大好きなのです。
そんなIEなんですが、IE8から追加された機能に「アクセラレータ」というものがあります。
IE8で文字を選択したりすると←こういうやつが出てきますが、これのことです。
こいつをクリックするだけで、選択した文字をGoogle検索したり翻訳したりすることができるものです。
※Microsoftによる紹介ドラマはこちら
今回、SimplePostを使って、選択した文字列を引用してmixi日記を書くことができるアクセラレータを作ってみました。
Internet Explorer 8の「mixiで日記を書く」アクセラレータを利用するには
1. 下のリンクをクリックします。
アクセラレータのインストール
2. ダイアログが表示されるので、「このアクセラレータ区分の既定ブロバイダーに設定する」にチェックを入れて「追加」ボタンをクリックします。
3. 日記に引用したい文章があったら、ドラッグで選択します。が表示されたらそれをクリックして「mixiで日記を書く」を選択します。
4. mixiの日記を書く画面が表示されるので、日記を書きます。
※GETメソッドの制限から、あまり長い文字列は引用できません。すみません。
アクセラレータの作り方
アクセラレータはXMLで挙動を定義するのです。
「mixiで日記を書く」アクセラレータのXMLの中はこのようになっています。
<?xml version="1.0" encoding="UTF-8" ?>
<openServiceDescription
xmlns="http://www.microsoft.com/schemas/openservicedescription/1.0">
<homepageUrl>http://mixi.jp/</homepageUrl>
<display>
<name>mixiで日記を書く</name>
<icon>http://mixi.jp/favicon.ico</icon>
</display>
<activity category="Blog">
<activityAction context="selection">
<execute method="get" action="http://mixi.jp/simplepost/diary?title={documentTitle?}&&body={documentTitle}%0A{documentUrl}%0A%0A{selection}" />
</activityAction>
<activityAction context="document">
<execute method="get" action="http://mixi.jp/simplepost/diary?title={documentTitle?}&body={documentTitle}%0A{documentUrl}" />
</activityAction>
<activityAction context="link">
<execute method="post" action="http://mixi.jp/simplepost/diary?title={linkText}&body={linkText}%0A{link}" />
</activityAction>
</activity>
</openServiceDescription>
displayの中でアクセラレータの名前とアイコンを定義。
activityActionの中で、挙動を定義します。
context="selection"だと、文字列を選択したときの動作、
context="document"だと、ページの何もないところを右クリックしたときの動作
context="link"だと、リンクを右クリックしたときの動作を定義できます。
で、実際にアクセラレータを選択すると、execute action=で指定されたURLに飛びます。
クリックしたときのexecute以外に、選択したときのpreviewというのもありますが、今回のアクセラレータでは使いようがなかったので使っていません。
さらに詳しい仕様についてはMSDNのOpenService Accelerators Developer Guideのページが参考になります。
まとめ
こんな感じでアクセラレータも簡単に作れますが、SimplePostはもっと簡単です。
SimplePostをうまく活用すれば、mixiカレンダーに予定を追加するボタンを自分のブログに載せるとか、いろいろと楽しいことができるはずです。
そして、SimplePostで物足りなくなってきたら、mixi Graph APIを使ってもっと高度なことを実現してみてください。
みなさまの素敵なアイデアをぜひ形にしてください!
ということで、やっぱりコードは書かなかったmilanoでした。