最近、IE8のアクセラレータに凝っている。
といっても、週に1本とか書いて便利に使い捨てるくらいのレベルであるが、ブラウザを使って、文字列を選択して、何か検索とか、登録とか、変換、ブログ執筆といったアクションを起こす、という手順なら何でもアクセラレータで効率化できる。たかだか、コピー&ペーストが1回、2回減る程度のアクションなのだが、それらが自動化されるというのは、こんなに気分が変わるのか、と考えさせられるほどだ。
さて、このアクセラレータの開発時に唯一リファレンスとすべきなのが、
MSDN Internet Explorer 8 ディベロッパーセンター
OpenService アクセラレータ開発者向けガイド
http://msdn.microsoft.com/ja-jp/library/cc287851(vs.85).aspx
だ。
今回は開発していて、一点だけはまったことがあるので、それを紹介しておこう。
OpenService アクセラレータの中では、いくつか指定できる URL がある。
ところが、このうち、下記の URLは 同一ドメインでなくてはならないという制約があるのだ。これは、アクセラレータを偽装するのを防ぐためのセキュリティ的な手段なのだろうが、間違えても、IE8が教えてくれないため、原因がわかりにくい。
<homepageUrl>
<activityAction>
<preview>
<execute>
ちなみに <display> の <icon> の URL も同一にしろ、と言われているが、こちらはセキュリティ的に何の影響もないせいか、不一致でも問題を発生しないようだ。
ということで、メジャーサイトの検索アクセラレータを自分のCGI経由で行うときとかには、<homepageUrl> についても、自分のCGIをホスティングしているドメインにしておかないと、IE8のアクセラレータ追加時に怒られることになる、のであった。
|