htmlページにたくさんの<a>
sがあり、それぞれがaに関連付けられておりform
、フォーム自体がサビットしている間に「読み込み中」の画像を表示したいと考えています(これには時間がかかるようですが、これは別の問題かもしれません)。
a
だから私はそれらのonclickイベントで少しハックなことをしました
frmContent = $ ( this ).nextAll ( "form" ).clone ();
$ ( "body" ).html ( "<div class='preload'><img src='./img/loading.gif' /><br/>Caricamento in corso<\/div>" );
$ ( "body" ).append(frmContent);
frmContent.submit ();
これはFirefoxとIE9の両方で機能するようです。問題は、互換性モードが有効になっている場合、これが機能しないことです。
また、ブラウザがIE7として認識されるときに、次のように別の何かを使用することも考えました。
if ( $.browser.version != "7.0" ) {
frmContent = $ ( this ).nextAll ( "form" ).clone ();
$ ( "body" ).html ( "<div class='preload'><img src='./img/loading.gif' /><br/>Caricamento in corso<\/div>" );
$ ( "body" ).append(frmContent);
frmContent.submit ();
} else {
$ ( this ).nextAll ( "form" ).submit ();
}
したがって、プリロードアニメーションは表示されませんが、これは目的に反します。
ユーザーに互換モードをオフにするように強制することはできず、このページはIE7でも機能する必要があるため、そのスニペットの何が問題になっていますか?それを行うためのより良い方法はありますか?