私は大規模なウェブサイトで働いています(毎月500万以上のユニークヒット、約5500万から6000万ページのビュー/インプレッション)。
現在、ユーザビリティ(tabindex、labelsなど)を更新しています。
私はcssクラスとjQuery(以下のコードを参照)を使用して、フォームの送信時(およびajax関連の部分的なページの更新/更新など)でカーソルタイプを「progress」に変更し、ユーザーが「何か」が起こっていることを即座に認識できるようにします、クラス名「loadWait」を介して。
//css class
body.wait *, body.wait {
cursor:progress !important;
}
//jQuery
$(document).ready(function() {
$('.loadWait').click(function(){
progerssCursor();
});
});
function progerssCursor(){
$('body').addClass('wait');
}
function removeProgerssCursor(){
$('body').removeClass('wait');
}
//example html
<input type="sumbit" class="loadWait" />
<a href="..." class="loadWait" />
//in ajax requests by calling functions "progressCursor()" and
"removeProgressCursor" at the appropriate time/place
したがって、質問は次のとおりです。
この種のアプローチの既知の「副作用」はありますか?(グーグルで広範囲に検索しましたが、信じられないようなものは見つかりませんでした)。
すべてのリンクにclass="loadWait"をアタッチする必要があるかどうかについて話し合っています(この状況でカーソルを変更したくないので、明らかにtarget = "_ blank"のリンクではありません)。あなたの考えは何ですか?私たちの推論は、何らかの理由(サーバーの負荷が高い、インターネット接続が遅いなど)で、ユーザーの「リンククリック」と実際のページのレンダリングが開始されるまでに数秒の奇妙な遅れが生じる可能性があるということです。ユーザーは、「何か」が発生していることを即座に知ることができます(タブの読み込みアイコンがそこにあることは認識していますが、ユーザーが見逃していることがよくあります)。あなたの考えは何ですか?私たちのすべてのリンクに対してこれを行うのはやり過ぎですか?(ここでは工数について話していません)。
これが追加するページの読み込み時間(ある場合)の種類を知っている人はいますか?($('。loadWait')。click(function(){...はどのように機能しますか?jQueryは、ページの読み込み時にDOM全体を検査して「クリック」イベントを確認しますか、それとも「クリックごと」に基づいて一致するクラス名?)。
これについて他に何か考えはありますか?
注:このコードは、IE6-9、FF3.6、FF11、FF12、Opera、Safari(Windows)、Chromeなどでテストされており、既知の/明らかなバグ/問題はありません。