問題:顧客 X は、MSIE で XML DataBinding および Databound テーブルを使用するページを、クロス ブラウザーで動作するようにリファクタリングするよう要求しました。
質問: MSIE クロスブラウザー (つまり、MSIE と Firefox の両方)のMSIE DataBinding機能を模倣するベスト プラクティスの方法は何ですか。
特徴:顧客 Xは、単一の Web ページでMSIE DataBindingを使用して、既に以下を取得しています ...
- データソースとしての単一 URL xml ダンプ全体 (サーバー側のページングやクロスドメインの問題がないことを前提としています)
- データソース URL を指定するだけの Web ページ マークアップ (MSIE と同様)
- クライアント側で JavaScript の「メモリ不足」または「レイテンシ」エラーを発生させずに、非常に大きなテーブル (最小で 3k レコードなど) をロードする機能
- 行ストライピングの可能性がある通常の HTML テーブル要素でこれを実行する機能 (オプションですが、MSIE はまだこれを行っていないため必須ではありません)
背景:この特定の質問と同期するには、おそらくMSIE DataBindingに精通している必要があります。MSIE のこの機能により、(標準の「テーブル」にある限り、特定のスキーマのない) 単一の XML データ ソースを指すことができ、ブラウザーはデータを視覚的かつ非同期的にレンダリングします。
これの利点は、ユーザーに出力を表示する前にページの読み込みがテーブル全体に入力されるのを待たないため、ページがすばやくレンダリングされることです。テーブルの行は徐々に埋められます。
False Starts:以下は、顧客 X によって既に試行され、拒否されました。
- JQuery: データの読み込みとクリーンな維持が可能な HTML マークアップには最適ですが、大規模なデータ ソースは、クライアント側でレンダリングするときにレイテンシとメモリの問題を引き起こします。
- XSLT: <table> タグで "datasource" 属性を指定するだけでなく、多くのことが含まれているため、これは顧客 X を怖がらせます。
- サーバー側のデータ ページネーション: 顧客 X は、XML データのセグメント化やサーバー側での「データ変更」を絶対に避けたいと考えているため、これはオプションではありません。