Kami memiliki gif pemintal animasi yang kami gunakan untuk membumbui tombol kirim setelah pengguna mengirimkan formulir. Jika semua validasi melewati formulir, kami menetapkan latar belakang melalui metode css()
jQuery, mengatur gambar latar belakang, posisi dan warna semuanya dalam satu.
IE9 tidak menampilkan gambar latar belakang saat dikirimkan, meskipun gambar tersebut tetap terlihat di browser lain.
Teknik ini telah bekerja dengan baik di browser IE sebelumnya, tetapi tampaknya telah rusak di IE9, termasuk di "mode browser" yang lebih lama. Saya tidak yakin apakah ini merupakan bug di IE9, tapi pastinya telah mengubah perilaku dan saya tidak dapat mempercayai mode IE7/8 untuk berperilaku seperti yang diharapkan karena hal ini.
Sepertinya IE memutuskan untuk tidak melakukan pengecatan ulang lagi setelah pengguna mengirimkan formulir. Jika ini masalahnya, saya tidak yakin saya punya jalan keluarnya, tapi menurut saya sebenarnya bukan itu masalahnya. Kami mengalami masalah sebelumnya dengan teknik ini di Firefox, di mana kami menemukan bahwa Firefox menghentikan semua permintaan http selain permintaan formulir itu sendiri, yang berarti jika gambar latar belakang tidak ada dalam cache maka tidak akan berfungsi. Oleh karena itu, kami melakukan pramuat spinner pada objek Image di memori.
Menariknya, jika saya secara manual memanggil metode yang memperbarui CSS pada tombol dari konsol alat dev IE, itu berfungsi dengan baik. Hanya ketika kita memiliki kiriman sebenarnya, ia menjadi keras kepala dan gagal menarik pemintal. Menariknya lagi, ini memang menghapus teks dari tombol kirim, yang merupakan bagian kedua dari efeknya.
Adakah yang punya ide tentang apa yang menyebabkan ini/bagaimana cara mencegahnya?
Berikut adalah versi sederhana dari kode live()
d yang menangani pengiriman:
jQuery.fn.disableSubmit = function() {
this.find("input[type=submit]").each(function() {
$(this).css({"background": "url(/asdasdasd.gif) no-repeat 50% 50%"});
});
return this;
};
$("form").live("submit", function() {
var form = $(this);
form.disableSubmit();
return true;
});
<button type=submit><img ...gif></button>
. Akankah ia menunjukkan perilaku yang sama? - person c-smile   schedule 11.05.2011hide().show(0)
agak keren tetapi sepertinya menonaktifkan animasi pada gif animasi yang kita punya sebagai gambar latar belakang. Mengenaieach()
, sebenarnya ada lebih banyak hal yang terjadi di masing-masing panggilan kita daripada hanya panggilancss()
dan tidak semuanya dapat dirantai. - person thynctank   schedule 11.05.2011