1.penyematan adalah ilegal
Tag <embed> adalah tag pribadi Netscape. Meskipun tag <embed> banyak digunakan, dari HTML3.2, HTML4.0 hingga XHTML1.0, W3C belum menyertakan tag ini. Halaman yang menggunakan tag <embed> tidak akan lolos validasi W3C.
2. Anda harus menggunakan objek
W3C merekomendasikan tag <object>. Bahkan di XHTML2, <img> digantikan oleh <object>. Kode untuk memasukkan flashdisk dengan metode <object> adalah:
Berikut isi kutipannya: <object type="application/x-shockwave-flash" data="test.swf" width="200" height="100"> <parm name="movie" value="test.swf /> </object> |
Namun, metode ini tidak dapat ditampilkan dengan benar di IE5-IE6/Win (tidak dapat diputar terus menerus dan tidak dapat diputar hingga diunduh), namun dapat ditampilkan dengan benar pada versi yang lebih rendah. Kemudian, metode penyesuaian file flash kecil terlebih dahulu dan kemudian menyematkan file flash besar memecahkan masalah pemutaran terus menerus. Namun, di IE5 ke atas, terkadang flash masih tidak dapat ditampilkan.
3. Tindakan sementara yang ada saat ini
Jadi apa yang harus Anda lakukan agar tidak hanya mematuhi standar tetapi juga menampilkan flash dengan benar di semua browser? Bagaimana situs web makromedia lolos verifikasi W3c?
Beberapa desainer berpikir untuk menggunakan JavaScript untuk menyembunyikan tag <embed> ilegal.
Berikut isi kutipannya: <script type="text/javascript "> if (navegiator .mimeTypes && navigator .mimeTypes["application/x-shockwave-flash"] { document .write('<embed src="test .swf" ... |
Saat ini ini merupakan solusi yang lebih baik. Anda harus memasukkan flash dan menggunakan js untuk memanggilnya. Cara ini dapat menipu program verifikasi W3C dan membuat halaman tersebut lolos verifikasi. Tapi itu hanya “curang”, tidak benar-benar memenuhi standar.
Bagaimana makromedia melakukannya?
Berikut isi kutipannya: <!-- $RCSfile: FlashDetection2k.pm,v $ $Revision: 1.68 $ : header penerimaan browser Anda menunjukkan bahwa Anda memiliki Flash 6,0,65,0 atau lebih baik, jadi Anda setuju untuk film Flash 6 ini, ini dia datang. --> |
Ini mengadopsi pendekatan kompromi:
(1). Pertama, javascript menentukan versi browser Anda dan versi pemutar flash;
(2). Menghasilkan kode HTML secara dinamis di latar belakang sesuai dengan versi yang berbeda.
Sederhananya, metode <object> digunakan secara default. Jika browser tidak dapat menangani objek tipe MIME "application/x-shockwave-flash", ia akan menyisipkan elemen anak <embed>. Terus terang, ini mirip dengan menggunakan js untuk menyembunyikan <embed>. Ini juga merupakan metode "curang", tetapi ini adalah metode paling standar dan sempurna yang bisa dilakukan saat ini.
Jika Anda ingin benar-benar meninggalkan <embed>, Anda hanya bisa menunggu browser IE memiliki dukungan yang lebih baik untuk <object>, mungkin sampai Longhorn keluar.