วันนี้ฉันกำลังทดสอบปฏิสัมพันธ์ระหว่างเลเยอร์ div และ flash และพบว่าเลเยอร์ div นั้นถูกเลเยอร์ flash ปกคลุมอยู่เสมอ หลังจากค้นหาบน Baidu มาระยะหนึ่งแล้ว ฉันพบว่าการเพิ่ม <param name="wmode" value="transparent " /> น่าจะใช้ได้ หลังจากเพิ่มเข้าไปแล้ว ปัญหาใน IE ก็ได้รับการแก้ไข แต่ดูเหมือนว่าจะไม่มีการตอบสนองใน FF ต่อมาฉันพบว่าโค้ดที่เพิ่มใน IE และ FF แตกต่างกันดังนี้
มีในเบราว์เซอร์ IE
<param name="wmode" value="transparent" />
มีให้ใช้งานภายใต้ Firefox
<ฝัง src="YourFlash.swf" wmode="transparent" >
-
</embed>
เกี่ยวกับข้อมูลแอตทริบิวต์ wmode:
(ทางเลือก) อนุญาตให้ใช้เนื้อหา Flash แบบโปร่งใส การวางตำแหน่งที่แน่นอน และคุณลักษณะการแสดงผลแบบเลเยอร์ใน Internet Explorer 4.0 แท็ก/คุณสมบัตินี้ใช้ได้เฉพาะใน Windows ที่มีตัวควบคุม Flash Player ActiveX
"หน้าต่าง" ใช้หน้าต่างสี่เหลี่ยมของวิดีโอในการเล่นแอปพลิเคชันบนเว็บเพจ "หน้าต่าง" ระบุว่าแอปพลิเคชัน Flash นี้ไม่มีการโต้ตอบกับเลเยอร์ HTML และจะอยู่ด้านบนเสมอ
"ทึบแสง" ทำให้แอปพลิเคชันซ่อนทุกสิ่งที่อยู่ด้านหลังหน้า
"โปร่งใส" ทำให้พื้นหลังของหน้า HTML แสดงผ่านส่วนที่โปร่งใสของแอปพลิเคชัน และอาจลดประสิทธิภาพของภาพเคลื่อนไหว
"ทึบแสงไม่มีหน้าต่าง" และ "โปร่งใสไม่มีหน้าต่าง" โต้ตอบกับเลเยอร์ HTML ทำให้เลเยอร์เหนือไฟล์ SWF ปิดบังแอปพลิเคชันได้ ความแตกต่างระหว่างสองตัวเลือกคือ "โปร่งใส" อนุญาตให้แสดงโปร่งใส ดังนั้นหากส่วนหนึ่งของไฟล์ SWF มีความโปร่งใส เลเยอร์ HTML ใต้ไฟล์ SWF จะสามารถแสดงผ่านส่วนนั้นได้ ในขณะที่ "ทึบแสง" จะไม่แสดง