Rumah >hujung hadapan web >html tutorial >Flash dibenamkan dalam html Penyelesaian untuk membenamkan fail Flash dalam kod halaman web HTML (Bahagian 2)_HTML/Xhtml_Pengeluaran halaman web

Flash dibenamkan dalam html Penyelesaian untuk membenamkan fail Flash dalam kod halaman web HTML (Bahagian 2)_HTML/Xhtml_Pengeluaran halaman web

WBOY
WBOYasal
2016-05-16 16:40:321516semak imbas

Mengenai proses penggunaan SWFObject V1.5 saya, saya telah tamat buat sementara waktu dengan pengenalan di bahagian sebelumnya Sekarang saya akan mengetuai SWFObject V2.1 untuk bertemu dengan anda. 1 lebih awal, Jika ya, anda mungkin tidak akan terganggu dengan masalah "menunggu HTML DOM untuk dimuatkan".
Pertama sekali, izinkan saya memberi anda pengenalan ringkas kepada contoh panggilan sintaks V2.1:


Salin kod Kodnya adalah seperti berikut:

< script type="text/javascript"> ;
//1 Gunakan Json untuk memulakan pembolehubah, parameter dan sifat
var flashvars = {
name1: "hello",
name2: "world ",
name3: "foobar"
};
var params = {
menu: "false"
};
var attributes = {
id: "dynamicContent2" ,
nama: "dynamicContent2"
};
swfobject.embedSWF("test6_flashvars.swf", "content2", "300", "120", "6.0.0", "expressInstall.swf" , flashvars, params, atribut);
//2. Tetapan permulaan tradisional, kesannya adalah sama
var flashvars = {};
flashvars.name1 = "hello";
flashvars.name2 = "world";
flashvars.name3 = " foobar";
var params = {};
params.menu = "false";
var attributes = {};
atribut. id = "dynamicContent3";
attributes.name = "dynamicContent3";
swfobject.embedSWF("test6_flashvars.swf", "content3", "300", "120", "6.0.0",
"expressInstall.swf", flashvars, params, attributes) ;
///3 Tulis terus di belakang, hanya satu ayat, ringkas dan berkuasa, tanpa ceroboh
swfobject.embedSWF("test6_flashvars.swf. ", "content5", "300", "120",
"6.0.0", "expressInstall.swf", {name1:"hello",name2:"world",name3:"foobar"}, { menu:"false"}, {id:"dynamicContent5",name:" dynamicContent5"});


Secara peribadi, saya lebih suka cara penulisan ketiga di atas. Seperti yang akan dinyatakan di bawah, saya membenamkan Flash dalam kod HTML Penyelesaian terakhir fail adalah dengan menggunakan gaya ketiga memanggil swfobject.embedSWF(). Gaya versi V2.1 sangat konsisten dengan gaya JS moden, dan kod itu kelihatan lebih ringkas.

Penyelesaian yang diterima pakai dalam artikel sebelum ini nampaknya dapat memenuhi kebanyakan keperluan, dan keserasian itu nampaknya layak untuk memenuhi keperluan kebanyakan rakan, dan ia mungkin bukan a penyelesaian yang baik. Walau bagaimanapun, terdapat situasi yang agak melampau yang saya temui, iaitu:

Salin kodKodnya adalah seperti berikut:
SWFObject baharu("http://www.pec365.com/Flash/20071113.swf", "mymovie", "304", "367", "7", "#FFFFFF");

, jika alamat fail Flash yang masuk salah, atau fail Flash dipadamkan daripada pelayan, maka anda akan melihat situasi yang paling anda tidak mahu lihat, contohnya
Seperti berikut:


Salin kodKodnya adalah seperti berikut:

DEMO


< / kepala>









Adalah disyorkan agar anda melaksanakan sendiri kod ini Jika anda seorang pemula, anda boleh merujuk kepada langkah-langkah yang diperkenalkan dalam artikel sebelum ini untuk menjalankan kod ini dan benar-benar merasakan "bencana" yang akan datang.

Ya, anda akan melihat bahawa halaman itu kosong, dan imej yang pada asalnya digunakan untuk menggantikan sandaran apabila Flash tidak dapat dipaparkan juga hilang Ke mana perginya? Selepas nyahpepijat, saya mendapati bahawa walaupun alamat fail Flash yang masuk salah, teg yang salah akan dibuat dan
[… … ]
digantikan dengan kandungan di dalamnya, supaya apa yang anda lihat akan membentuk kawasan kosong dengan ketinggian dan lebar masing-masing 304px dan 367px (jika Flash player dipasang, klik kanan tetikus di sebelah kiri atas sudut skrin, anda Sesuatu akan ditemui), jadi mimpi ngeri datang.

Untuk menyelesaikan hasil mimpi ngeri ini, saya mendapat idea yang tidak baik, mula-mula, semak sama ada fail itu benar-benar wujud pada pelayan berdasarkan alamat fail Flash yang masuk Jika hasil yang dikembalikan ialah If the Flash fail wujud, kemudian laksanakan kaedah swfobject.embedSWF() dan idea khusus ialah menggunakan objek XMLHttpRequest untuk meminta pelayan melalui GET/HEAD, dan kemudian tentukan bahawa xmlHttp.status == 200 || xmlHttp.status == 302 wujud sebagai asas fail, tetapi kaedah ini nampaknya masih mempunyai kelemahan tertentu, dan saya masih belum dapat memperbaikinya Berikut ialah contoh penyelesaian terakhir saya:

Salin Kod
Kod adalah seperti berikut:


DEMO
< head>
< script language="javascript" type="text/javascript" src="JavaScript/swfobject.js">