1

問題:顧客 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 データのセグメント化やサーバー側での「データ変更」を絶対に避けたいと考えているため、これはオプションではありません。
4

2 に答える 2

1

Javascript/XSLTとサーバー側以外のオプションは実際にはありません。

私はおそらくXSLTを使用するでしょう、それに対して与えられた議論は完全に議論の余地があります-「< table >タグに「datasource」属性を指定するだけではないため」- *任意の*ソリューションはより複雑になります次に、単に「データソース」を指定します。

ただし、ページがXSLTで段階的に読み込まれるかどうかはわかりませんが、スパイダーセンスはそうではないことを示唆しています。誰?

これに失敗すると、常にサーバー側のオプションを使用して、ページ付けを行うこともできなくなります。それでも、ページは徐々に読み込まれます。ブラウザに関する限り、それは単なる通常のhtmlです。

于 2008-12-09T04:04:58.710 に答える
1

おそらく最善の策は、CSS を使用して出力を希望どおりにフォーマットすることです。

于 2008-12-29T21:30:35.390 に答える