社本@元ネオニート Blog

社本@元ネオニート (元々ワック) のいたずら書き (for Programmers)

AILight Banner
AILight Blog

プロフィール

社本@元ネオニート Blog
働いたら負けかなと思っていたのですが。。とうとう働き始めました。アメリカのシアトル・エリアにある企業向けのバックアップソフトを開発している会社です。日本人は私だけ。なんとか。。やっていけてるようです。

目次

Blog 利用状況

記事分類

過去の記事

タグ

HTML(Script)側へのオブジェクトの公開 その2- IE/WebBrowser

> その場合、ブラウザコントロールをホストしている側に
> IDocHostUIHandler を実装し、GetExternal メソッドで
> 独自のオブジェクト (IDispatch) を公開することによって
> 実現することができます。

長年、この手法を使って各種アプリを作っていたわけですが、
オブジェクトが グローバルな領域ではなく、window.external
として公開されることに不満を感じていました。

#困りはしないんだけど、カッコ悪いからねえ。
#みんなも、そう思うでしょ??(笑)


何とかしてグローバルな領域に公開するためには、
ブラザコントロールが抱えているScripting Engineを
取得できればいいのではないかと思い調査したのですが、
うまくいきませんでした。

(SID_GetScriptSiteという思わせぶりなSIDは定義されて
いるのですが、IQueryServiceProvider::QueryService
してもダメです。)


ずっと諦めていたのですが、SideBar Gadgetの仕様を
調査していたところ、以下のようなコードを発見しました。

---
function GetHoge()
{
 return System.Gadget.Settings.read("Hoge");
}
---

なんと、グローバルな領域にオブジェクトを公開している
ではないですか!!
彼らにできて、オレにできないなんて許せない!という訳で、
再度、調査をしてみることにしました。


■IEのスクリプトエンジンへのインターフェイス - @IT
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1371&forum=7

投稿日時 : 2007年6月11日 14:55


コメントを追加

タイトル
名前
URL
コメント