Adakah yang memiliki contoh skrip yang dapat bekerja dengan baik di IE / Firefox untuk mendeteksi apakah browser mampu menampilkan konten flash yang disematkan. Saya katakan dengan andal karena saya tahu itu tidak mungkin 100% setiap saat.
96
Jawaban:
SWFObject sangat andal. Saya telah menggunakannya tanpa masalah cukup lama.
sumber
$('html').addClass(typeof swfobject !== 'undefined' && swfobject.getFlashPlayerVersion().major !== 0 ? 'flash' : 'no-flash');
if( swfobject.hasFlashPlayerVersion("8.0") ) { }
Throws false jika tidak ada flash yang terpasang. Nomor tersebut adalah versi pemutar flash minimum yang diperlukan.Saya setuju dengan Max Stewart . SWFObject adalah cara untuk pergi. Saya ingin melengkapi jawabannya dengan contoh kode. Ini harus membantu Anda memulai:
Pastikan Anda telah menyertakan
swfobject.js
file tersebut (dapatkan di sini ):Kemudian gunakan seperti ini:
Ganti "9.0.115" dengan versi flash minimum apa pun yang Anda butuhkan. Saya memilih 9.0.115 sebagai contoh karena itulah versi yang menambahkan dukungan h.264.
Jika pengunjung tidak memiliki flash, itu akan melaporkan versi flash "0.0.0", jadi jika Anda hanya ingin tahu apakah mereka memiliki flash, gunakan:
sumber
if(SWFobject && SWFobject.hasFlashPlayerVersion("1")) { // code here }
Saya tahu ini adalah posting lama, tetapi saya sudah mencari beberapa lama dan tidak menemukan apa pun.
Saya telah menerapkan Perpustakaan Deteksi Flash JavaScript . Ini bekerja dengan sangat baik dan didokumentasikan untuk penggunaan cepat. Saya benar-benar membutuhkan waktu 2 menit. Berikut kode yang saya tulis di header:
sumber
Anda dapat menggunakan compiler closure untuk menghasilkan deteksi flash kecil antar browser:
yang menghasilkan kode "terkompilasi" berikut:
sumber
goog.userAgent.flash
dari Closure Compiler Google)? Saya hanya ingin memastikan bahwa saya tidak melewatkan beberapa perbedaan nuansa di sini.Versi minimum yang pernah saya gunakan (tidak memeriksa versi, hanya Plugin Flash):
sumber
Perpustakaan Deteksi Flash JavaScript Carl Yestrau, di sini:
http://www.featureblend.com/javascript-flash-detection-library.html
... mungkin yang Anda cari.
sumber
Mungkinkah kit deteksi pemutar flash adobe bisa membantu di sini?
http://www.adobe.com/products/flashplayer/download/detection_kit/
sumber
Mendeteksi dan menyematkan Flash dalam dokumen web adalah tugas yang sangat sulit.
Saya sangat kecewa dengan kualitas dan markup yang tidak memenuhi standar yang dihasilkan dari solusi SWFObject dan Adobe. Selain itu, pengujian saya menemukan bahwa pembaru otomatis Adobe tidak konsisten dan tidak dapat diandalkan.
Pustaka Deteksi Flash JavaScript (Deteksi Flash) dan Pustaka Pembuat HTML Flash JavaScript (TML Flash) adalah solusi markup yang dapat dibaca, dipelihara, dan sesuai standar.
- "Luke membaca sumbernya!"
sumber
Kode untuk satu
isFlashExists
variabel liner :Perhatikan bahwa ada alternatif seperti ini:
swfobject.getFlashPlayerVersion();
sumber
Lihat sumbernya di http://whatsmy.browsersize.com (baris 14-120).
Berikut adalah kode browser silang yang diabstraksikan di jsbin untuk deteksi flash saja , berfungsi di: FF / IE / Safari / Opera / Chrome.
sumber
detectObject()
mitra untuk IE.bagaimana dengan:
sumber
Jika Anda tertarik dengan solusi Javascript murni, berikut ini yang saya salin dari Brett :
sumber
Jika Anda hanya ingin memeriksa apakah flash diaktifkan, ini sudah cukup.
Catatan: hindari mencentang enabledPlugin , beberapa browser seluler memiliki plugin tap untuk mengaktifkan flash, dan akan memicu negatif palsu.
sumber
Untuk membuat objek Flash yang sesuai dengan standar (dengan JavaScript), saya sarankan Anda untuk melihatnya
Objek Flash Tidak Mencolok (UFO)
http://www.bobbyvandersluis.com/ufo/index.html
sumber
Telah membuat
.swf
pengalihan kecil . Jika browser mengaktifkan flash, browser akan mengarahkan ulang.sumber
Menggunakan pustaka Google Closure compiler goog.require ('goog.userAgent.flash'), saya membuat 2 fungsi ini.
boolean hasFlash ()
Kembali jika browser memiliki flash.
boolean isFlashVersion (versi)
Kembali jika versi flash lebih besar dari versi yang disediakan
sumber