Adakah yang tahu cara bekerja untuk membuat animasi GIF itu terus dianimasikan setelah Anda mengklik link atau mengirimkan formulir di halaman Anda di IE? Ini berfungsi dengan baik di browser lain.
Terima kasih.
Adakah yang tahu cara bekerja untuk membuat animasi GIF itu terus dianimasikan setelah Anda mengklik link atau mengirimkan formulir di halaman Anda di IE? Ini berfungsi dengan baik di browser lain.
Terima kasih.
Jawaban:
Solusi yang diterima tidak berhasil untuk saya.
Setelah beberapa penelitian lebih lanjut, saya menemukan solusi ini , dan itu benar-benar berhasil.
Inilah intinya:
dan di html Anda:
Jadi ketika formulir dikirimkan,
<img/>
tag dimasukkan, dan untuk beberapa alasan itu tidak terpengaruh oleh masalah animasi ie.Diuji di Firefox, ie6, ie7 dan ie8.
sumber
code
<div id = "img_content"> <img id = 'aj_loader' src = 'assets / 2631.gif' style = "display: none;" /> </div> Lalu:code
$ ("# img_content"). html ($ ("# img_content"). html ());pertanyaan lama, tapi posting ini untuk sesama karyawan Google:
Spin.js BEKERJA untuk kasus penggunaan ini: http://fgnass.github.com/spin.js/
sumber
IE mengasumsikan bahwa mengklik tautan menandai navigasi baru di mana konten halaman saat ini akan diganti. Sebagai bagian dari proses untuk mempersiapkannya, ia menghentikan kode yang menganimasikan GIF. Saya ragu ada yang dapat Anda lakukan tentang hal itu (kecuali jika Anda tidak benar-benar menavigasi dalam hal ini gunakan return false di acara onclick).
sumber
Berikut adalah jsFiddle yang berfungsi dengan baik pada pengiriman formulir dengan method = "post". Spinner ditambahkan pada acara pengiriman formulir.
Lihat kode jsFiddle di sini
Uji di browser IE Anda di sini
sumber
Saya menemukan posting ini, dan meskipun sudah dijawab, saya merasa saya harus memposting beberapa informasi yang membantu saya dengan masalah ini khusus untuk IE 10, dan mungkin membantu orang lain yang tiba di posting ini dengan masalah serupa.
Saya bingung bagaimana gif animasi tidak ditampilkan di IE 10 dan kemudian menemukan permata ini.
Tools→ Internet Options→ Advanced→ MultiMedia→Play animations in webpages
semoga ini membantu.
sumber
beforeunload
atauunload
acara.Saya mengalami masalah ini saat mencoba menampilkan gif memuat saat pengiriman formulir sedang diproses. Itu memiliki lapisan kesenangan tambahan di mana pengiriman yang sama harus menjalankan validator untuk memastikan formulirnya benar. Seperti orang lain (pada setiap posting formulir IE / gif di internet) saya tidak bisa membuat pemintal pemuatan "berputar" di IE (dan, dalam kasus saya, memvalidasi / mengirimkan formulir). Saat mencari melalui saran di http://www.west-wind.com saya menemukan sebuah posting oleh ev13wt yang menyarankan masalahnya adalah "... bahwa IE tidak membuat gambar sebagai animasi karena tidak terlihat saat dirender. " Itu masuk akal. Solusinya:
Biarkan kosong di tempat gif akan pergi dan gunakan JavaScript untuk menyetel sumber dalam fungsi onsubmit - document.getElementById ('loadingGif'). Src = "jalur ke file gif".
Inilah cara saya menerapkannya:
Ini bekerja dengan baik untuk saya di semua browser!
sumber
Inilah yang saya lakukan. Yang harus Anda lakukan adalah memecah GIF Anda untuk mengatakan 10 gambar (dalam hal ini saya mulai
01.gif
dan diakhiri dengan10.gif
) dan tentukan direktori tempat Anda menyimpannya.HTML:
JavaScript:
Metode ini bekerja dengan IE7, IE8 dan IE9 (meskipun untuk IE9 Anda dapat menggunakan
spin.js
). CATATAN: Saya belum menguji ini di IE6 karena saya tidak memiliki mesin yang menjalankan browser dari tahun 60-an, meskipun metodenya sangat sederhana sehingga mungkin bekerja bahkan di IE6 dan yang lebih rendah.sumber
Terkait dengan ini, saya harus menemukan perbaikan di mana gif animasi digunakan sebagai gambar latar belakang untuk memastikan gaya disimpan ke stylesheet. Perbaikan serupa juga berhasil untuk saya di sana ... skrip saya berjalan seperti ini (saya menggunakan jQuery untuk mempermudah mendapatkan gaya latar belakang yang dihitung - cara melakukannya tanpa jQuery adalah topik untuk posting lain):
[EDIT] Dengan sedikit pengujian lagi, saya baru menyadari bahwa ini tidak berfungsi dengan gambar latar belakang di IE8. Saya telah mencoba semua yang dapat saya pikirkan untuk membuat IE8 membuat animasi gif sambil memuat halaman, tetapi tampaknya tidak mungkin saat ini.
sumber
$(spinner).css('background-image')
), tetapi alih-alih menyetelnya dengan cara yang sama, Anda menggunakan cara Javascript murni (spinner.style.backgroundImage
). Kode Anda tidak berfungsi untuk saya di browser mana pun. Jika saya menggunakan kode Anda secara langsung, maka saya mendapatkancannot set backgroundImage property of undefined
kesalahan. Jika saya mengubah kode Anda untuk mengatur CSS menggunakan jQuery, kode berjalan tanpa kesalahan apa pun, tetapi gambar tidak disetel ulang dan elemen div / spinner tetap kosong. Saya tidak tahu, kenapa?background-image
properti diunload
ataubeforeunload
acara. Lihat pertanyaan ini atau jsFiddle ini untuk detailnya.Berdasarkan jawaban @danfolkes, ini berhasil untuk saya di IE 8 dan ASP.NET MVC3.
Di _Layout.cshtml kami
<<< konten di sini >>> ...
Dan di tautan navigasi kami:
atau
sumber
Temukan solusi ini di http://timexwebdev.blogspot.com/2009/11/html-postback-freezes-animated-gifs.html dan BEKERJA! Cukup muat ulang gambar sebelum menyetel ke terlihat. Panggil fungsi Javascript berikut dari onclick tombol Anda:
sumber
Saya menyadari bahwa ini adalah pertanyaan lama dan sekarang masing-masing poster asli telah menemukan solusi yang sesuai untuk mereka, tetapi saya menemukan masalah ini dan menemukan bahwa tag VML tidak menjadi korban bug IE ini. GIF animasi masih bergerak selama pembongkaran halaman saat ditempatkan di browser IE menggunakan tag VML.
Perhatikan Saya mendeteksi VML terlebih dahulu sebelum membuat keputusan untuk menggunakan tag VML sehingga ini berfungsi di FireFox dan browser lain yang menggunakan perilaku GIF animasi normal.
Inilah cara saya menyelesaikan ini.
Biasanya, ini bergantung pada jQuery, jQueryUI dan memerlukan beberapa jenis GIF animasi ("/images/loading_gray.gif").
sumber
Jquery:
sumber
Baru saja mengalami masalah serupa. Ini bekerja dengan sempurna untuk saya.
Ide lain adalah menggunakan jQuery's .load (); untuk memuat dan kemudian menambahkan gambar.
Bekerja di IE 7+
sumber
Sangat, sangat terlambat untuk menjawab pertanyaan ini, tetapi saya baru saja menemukan bahwa menggunakan gambar latar belakang yang dikodekan sebagai URI base64 di CSS, daripada disimpan sebagai gambar terpisah, terus dianimasikan di IE8.
sumber
Cara yang sangat mudah adalah dengan menggunakan plugin jQuery dan SimpleModal . Kemudian ketika saya perlu menunjukkan gif "memuat" saya saat mengirimkan, saya melakukan:
sumber
Saya memiliki masalah yang sama, umum juga pada borwser lain seperti Firefox. Akhirnya saya menemukan bahwa secara dinamis membuat elemen dengan gif animasi di dalam form submit tidak bernyawa, jadi saya mengembangkan workaorund berikut.
1) Di
document.ready()
, setiap FORMULIR yang ditemukan di halaman, menerimaposition:relative
properti dan kemudian ke masing-masing terpasang yang tak terlihatDIV.bg-overlay
.2) Setelah ini, dengan asumsi bahwa setiap nilai pengiriman situs web saya diidentifikasi oleh
btn-primary
kelas css, sekali lagidocument.ready()
, saya mencari tombol-tombol ini, melintasi ke induk FORM masing-masing, dan pada pengiriman formulir, saya mengaktifkanshowOverlayOnFormExecution(this,true);
fungsi, melewati tombol yang diklik dan boolean yang mengubah visibilitasDIV.bg-overlay
.CSS untuk
DIV.bg-overlay
adalah sebagai berikut:3) Pada pengiriman formulir apa pun, fungsi berikut diaktifkan untuk menampilkan hamparan latar belakang semi-putih di atasnya (yang menolak kemampuan untuk berinteraksi lagi dengan formulir) dan gif animasi di dalamnya (yang secara visual menunjukkan tindakan pemuatan).
Menampilkan animasi gif pada pengiriman formulir, alih-alih menambahkannya di acara ini, memecahkan masalah "pembekuan animasi gif" di berbagai browser (seperti yang saya katakan, saya menemukan masalah ini di IE dan Firefox, bukan di Chrome)
sumber