Câu trả lời:
Cách tiếp cận tốt nhất để nhúng SWF vào trang HTML là sử dụng SWFObject .
Đây là một thư viện JavaScript mã nguồn mở đơn giản, là phương thức dễ sử dụng và thân thiện với tiêu chuẩn để nhúng nội dung Flash.
Nó cũng cung cấp phát hiện phiên bản Flash player. Nếu người dùng không có phiên bản Flash cần thiết hoặc đã tắt JavaScript, họ sẽ thấy một nội dung thay thế. Bạn cũng có thể sử dụng thư viện này để kích hoạt nâng cấp trình phát Flash. Khi người dùng đã nâng cấp, họ sẽ được chuyển hướng trở lại trang.
Một ví dụ từ tài liệu:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject dynamic embed - step 3</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
</script>
</head>
<body>
<div id="myContent">
<p>Alternative content</p>
</div>
</body>
</html>
Một công cụ tốt để sử dụng cùng với điều này là trình tạo mã JavaScript và JavaScript SWFObject . Về cơ bản, nó tạo ra HTML và JavaScript mà bạn cần để nhúng Flash bằng SWFObject. Đi kèm với một giao diện người dùng rất đơn giản để bạn nhập các tham số của mình.
Nó rất được khuyến khích và sử dụng rất đơn giản.
var el = document.getElementById("my-target-element"); swfobject.embedSWF("myContent.swf", el, 300, 120, 10);
<object width="100" height="100">
<param name="movie" value="file.swf">
<embed src="file.swf" width="100" height="100">
</embed>
</object>
Làm thế nào về thẻ HTML5 đơn giản được nhúng?
<!DOCTYPE html>
<html>
<body>
<embed src="anim.swf">
</body>
</html>
Điều này phù hợp cho ứng dụng từ môi trường gốc.
<object type="application/x-shockwave-flash" data="/dir/application.swf"
id="applicationID" style="margin:0 10px;width:auto;height:auto;">
<param name="movie" value="/dir/application.swf" />
<param name="wmode" value="transparent" /> <!-- Or opaque, etc. -->
<!-- ↓ Required paramter or not, depends on application -->
<param name="FlashVars" value="" />
<param name="quality" value="high" />
<param name="menu" value="false" />
</object>
Các tham số bổ sung nên / có thể được thêm vào tùy thuộc vào .swf nó tự. Không nhúng , chỉ có đối tượng và tham số bên trong, vì vậy, nó vẫn hợp lệ, hoạt động và có thể sử dụng ở mọi nơi, không thành vấn đề! DOCTYPE là tất cả về. :)
<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/VhtIydTmOVU&hl=en&fs=1&color1=0xe1600f&color2=0xfebd01"
style="width:640px;height:480px;margin:10px 36px;">
<param name="movie" value="http://www.youtube.com/v/VhtIydTmOVU&hl=en&fs=1&color1=0xe1600f&color2=0xfebd01" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="wmode" value="opaque" />
<param name="quality" value="high" />
<param name="menu" value="false" />
</object>
Tôi sử dụng http://wiltgen.net/objecty/ , nó giúp nhúng nội dung phương tiện và tránh vấn đề "nhấp để kích hoạt" IE.
Điều này sẽ làm việc, tôi chắc chắn!
<embed src="application.swf" quality="high" pluginspage="http://www.macromedia.com/go/getfashplayer" type="application/x-shockwave-flash" width="690" height="430">
Cách tốt nhất là gì? Những từ như 'hiệu quả nhất', 'kết xuất nhanh nhất', v.v. thì cụ thể hơn. Dù sao, tôi đang đưa ra một câu trả lời thay thế giúp tôi hầu hết thời gian (dù có hay không 'tốt nhất' là không liên quan).
Câu trả lời thay thế: Sử dụng iframe.
Đó là, lưu trữ tệp SWF trên máy chủ. Nếu bạn đặt tệp SWF trong thư mục gốc hoặc public_html thì tệp SWF sẽ được đặt tại www.YourDomain.com/YourFlashFile.swf
.
Sau đó, trên index.html hoặc bất cứ nơi nào, hãy liên kết vị trí trên với iframe của bạn và nó sẽ được hiển thị xung quanh nội dung của bạn bất cứ nơi nào bạn đặt iframe của mình. Nếu bạn có thể đặt iframe ở đó, bạn có thể đặt tệp SWF ở đó. Đặt kích thước iframe giống như tệp SWF của bạn. Trong ví dụ dưới đây, tệp SWF là 500 x 500.
Mã giả:
<iframe src="//www.YourDomain.com/YourFlashFile.swf" width="500" height="500"></iframe>
Dòng mã HTML ở trên sẽ nhúng tệp SWF của bạn. Không có mớ hỗn độn khác cần thiết. Ưu điểm: Tuân thủ W3C, thiết kế trang thân thiện, không có vấn đề về tốc độ, cách tiếp cận tối giản.
Nhược điểm: Khoảng trắng xung quanh tệp SWF của bạn khi được khởi chạy trong trình duyệt.
Đó là một câu trả lời thay thế. Cho dù đó là câu trả lời 'tốt nhất' tùy thuộc vào dự án của bạn.
//www...
sử dụng sai //
nghĩa là nếu trên HTTPS hoặc HTTP của bạn, nó hoạt động bằng cùng loại kết nối
Tôi biết đây là một câu hỏi cũ. Nhưng câu trả lời này sẽ tốt cho hiện tại.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>histo2</title>
<style type="text/css" media="screen">
html, body { height:100%; background-color: #ffff99;}
body { margin:0; padding:0; overflow:hidden; }
#flashContent { width:100%; height:100%; }
</style>
</head>
<body>
<div id="flashContent">
<object type="application/x-shockwave-flash" data="histo2.swf" width="822" height="550" id="histo2" style="float: none; vertical-align:middle">
<param name="movie" value="histo2.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffff99" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
</object>
</div>
</body>
</html>
Thi hoạt động trên IE, Edge, Firefox, Safari và Chrome.
<object type="application/x-shockwave-flash" data="movie.swf" width="720" height="480">
<param name="movie" value="movie.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
</object>
Điều này làm việc cho tôi:
<a target="_blank" href="{{ entity.link }}">
<object type="application/x-shockwave-flash" data="{{ entity.file.path }}?clickTAG={{ entity.link }}" width="120" height="600" style="visibility: visible;">
<param name="quality" value="high">
<param name="play" value="true">
<param name="LOOP" value="false">
<param name="wmode" value="transparent">
<param name="allowScriptAccess" value="true">
</object>
</a>
Sử dụng <embed>
phần tử:
<embed src="file.swf" width="854" height="480"></embed>
Bạn có thể sử dụng JavaScript nếu bạn quen thuộc, như thế:
swfobject.embedSWF("filename.swf", "Title", "width", "height", "9.0.0");
- 9.0.0 là phiên bản flash.
Hoặc bạn có thể sử dụng <object>
thẻ của HTML5.