FUM 2nd
またもやFUMに参加してきました。今回は東京です。
ヘビーなユーザー方の中で何度も参加するのはどうかと思っていましたけどね。まぁ、お酒を飲みに行く感じで軽いノリです。w
要望の中の1つにスクリプトからHTTPリクエストを行う際に標準の機能だといろいろ制限があるというのがあって、Sleipnir本体側でその辺をサポートする機能がほしいというのがありました。
確かにそうかも…。
Marineツールバーもスクリプト機能を実装しているのですが、主には閲覧ページ中のDOMにアクセスするものを書いているケースが多くて、スクリプトから通信するのはあまり実装していないです。
というか、そこまでやるならスクリプトではなく、拡張ボタンとしてC++で実装しているからです。
とは言ってもスクリプトからいろいろと通信したいというケースはあるわけです。
スクリプトに対していろいろと機能を提供する方法はありますが、私的にはCOMでの拡張がシンプルかと思っています。本体側は意識しないでどんどん拡張できるし、スクリプト側はActiveXObjectすればいいし…。
ということで簡単なコンポーネントを作ってみました。
今回は、指定URLの内容を取得するメソッドと指定URLのリダイレクト先を取得するメソッドの2つを実装してあります。
Sleipnir用の簡単なスクリプトはこんな感じです。

サンプルの1つ目の処理は、HTMLを取得してタイトルタグの中身を表示するもの、2つ目は指定したURLのリダイレクト先を取得するものです。
スクリプト用に機能を提供する場合の問題点は、非同期通信をサポートするのは難しいことです。通信を非同期で行い、完了したらスクリプト側にコールバックすることです。VBScriptの場合はイベントを発行できるのですが、JScriptの場合は難しいです。
今回はその辺は無視です。作るかどうかも…。
まぁ、通信完了までブロックされますが、個人でお手軽スクリプトを作ったりするレベルであれば問題ないかと思います。
今回作ったコンポーネントのインストーラーとサンプルを用意しましたので、使ってみたい方はこちらからダウンロードしてください。
サンプルは、Sleipnirをインストールしたフォルダにあるscriptsフォルダに適当にコピーしてメニューから実行すれば動作は確認できると思います。
Whim ~ひとり言~
暑いんだけど・・・暑くないっていう人はいないよね?





コメント&トラックバック
トラックバックURL: http://darksky.biz/blog/archives/1053/trackback/
[…] なんだかんだで参加してから日が空いてしまった。既にほかの参加者の方々が詳しいレポをあげている(由々識さん、TrinityTさん、Darkskyさん、kei_9さん、clicubeさん)ので、ここでは掻い摘んで個人的な感想を。 […]
2008/7/1 火曜日 1:23:29 posted by SharpLab. - 第二回FUMに参加して。
こんにちは、RAPT です。
Darksky さんさすがです! 仕事が早い。
FUM では Darksky さんとお話することができてよかったです。大変勉強になりました。またいろいろと教えてくださいね(笑)
2008/7/1 火曜日 16:35:09 posted by RAPT
Shiroicaさん
いろいろとお勉強中とのこと、頑張ってください。またお会いしたいですね。
RAPTさん
こちらこそ、いろいろとお話ができてよかったです。
また、お会いしたいですね。
2008/7/2 水曜日 9:42:12 posted by darksky