unibrowserをベースに試作しました。
- TUIWebBrowserコンポーネントを追加で貼り付け。FormCreate時に、指定ログファイルの拡張子を.htmにしたファイルへナビゲート(.Navigateメソッド)
- もともとあったAWHyperTextコンポーネントを非表示に (これで連続読みも対応)
- TAWTitleViewコンポーネントのOnSelectItemイベントにて、SelectedItemから取得した情報をTUIWebBrowserのdocumentプロパティ経由で書き換え
って感じです。
1.で実行したNavigateが完了する前に 3.のイベントが発生するので、この時点でdocumentにアクセスするとよろしくない。ので、1.でつけたフラグを見て処理しないようにし、OnNavigateCompleteイベントで、3.ですべき最初のdocument書き換えを行うようにした。
1.で最初にロードするのは、IDタグ付きの雛型htmlファイルで、エージェントがサイトを初期巡回する時等に生成するようにするとイイ感じかなと思ったりしている。(背景画像や外部cssファイル参照も含めてエージェントで好きに出来る)
2.で、TAWTitleViewのHyperTextプロパティを有効にしておけばスペースキーでの連続読みが出来るかと考え、そうしているが、フォーカスを持っていれば関係ないのかな? いずれにしても、TUIWebBrowserがレンダリングした領域にスクロールバーがでるケースでは、ページスクロールが出来ないので、ここはさすがにAirWeb本体の助力が必要そうである。
3.では、DHTMLの機能をつかって(いることになるのだと思っている)documentプロパティから、1.で仕込んだタグのIDの存在を前提に、該当するエレメントのinnerHTMLを書き換えることで、動的にHTML表示を更新している。
まだ雛形ファイルを生成するところと、HTML形式でログデータベースへ書き込むところのエージェント改造が出来ていない。
が、とても時間がなくてそれが出来るのがいつになるのかわからない(後者は簡単に出来そうであるので近々にやる予定)ので、こんなありさまながらとりあえず公開するので、使えそうなら是非いじってもらって意見交換したい。 ということで、aboardなりにてお待ちします。
qBrowser01.lzh (2000/11/29)
2000/11/26
とりあえずつくってみた。何度となくトライしてきたのだが、やっちゃまずそうなタイミングを冷静に考えて調整するとそこそこ動きそうな予感。