1

javascriptの関数を使用して、setTimeout()xml データの解析中に「読み込み中」というポップアップを表示できるようにしています。十分に小さい遅延値 (10 ミリ秒未満) では、ブラウザーが実際の作業を行うために一瞬フリーズする前に、それを表示する時間がないことがわかりました。50 ミリ秒で十分な時間がありますが、これが他のシステムにどれだけうまく変換されるかはわかりません。不必要な遅延を引き起こさずに視覚的な更新を確実にするために必要な遅延の量を決定する、ある種の「経験則」はありますか?

明らかに、それはコードが実行されているマシンなどに依存しますが、私の推測よりももう少し洞察を与えるものがあるかどうかを知りたかっただけです.

基本的なコード構造は次のとおりです。

showLoadPopup();

var t = setTimeout(function()
{
    parseXML(); // real work
    hideLoadPopup();
}, delayTime);

ありがとう!

更新: Web ワーカーは DOM やドキュメントなどにアクセスできないため、XML の解析は通常実行できることではないことが判明しました。したがって、これを達成するために、スタック オーバーフローに関する別の記事を実際に見つけました。 Web ワーカー内で XML を解析します。こちらのページをご覧ください

XML オブジェクトを文字列にシリアル化することで、メッセージ ポストを介して Web ワーカーに渡すことができます。次に、前述のリンクで見つけた JavaScript 専用の XML パーサーを使用して、XML オブジェクトに戻すことができます。 Web Worker で、必要な解析を行ってから、ブラウザーをまったくハングさせることなく、目的のテキストを文字列として返します。

4

2 に答える 2

0

この質問には、問題の最善の解決策ではなかったという理由だけで、「経験則」はないようです。setTimeout()呼び出しを使用してページを視覚的に更新するのではなく、別の方法を使用して実際の作業を行うことが真の解決策でした。

与えられたオプションは次のとおりです。

アドバイスありがとうございます。

于 2013-10-14T22:46:37.073 に答える