Odpowiedzi:
Najlepszym sposobem osadzenia pliku SWF na stronie HTML jest użycie SWFObject .
Jest to prosta biblioteka JavaScript typu open source, która jest łatwą w użyciu i przyjazną dla standardów metodą osadzania treści Flash.
Oferuje również wykrywanie wersji odtwarzacza Flash. Jeśli użytkownik nie ma wymaganej wersji Flasha lub ma wyłączoną obsługę JavaScript, zobaczy alternatywną zawartość. Możesz także użyć tej biblioteki do uruchomienia aktualizacji Flash Playera. Po aktualizacji użytkownik zostanie przekierowany z powrotem na stronę.
Przykład z dokumentacji:
<!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>
Dobrym narzędziem do użycia razem z tym jest generator SWFObject HTML i JavaScript . Zasadniczo generuje HTML i JavaScript potrzebne do osadzenia Flasha za pomocą SWFObject. Posiada bardzo prosty interfejs użytkownika do wprowadzania parametrów.
Jest wysoce zalecany i bardzo prosty w użyciu.
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>
Jest to odpowiednie dla aplikacji ze środowiska roota.
<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>
Należy / można dodać dodatkowe parametry, które zależą od pliku .swf. Bez osadzania , tylko obiekt i parametry wewnątrz, więc pozostaje ważny, działa i można go używać wszędzie, nie ma znaczenia, o który chodzi! :)
<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>
Używam http://wiltgen.net/objecty/ , pomaga to osadzić treści multimedialne i uniknąć problemu z IE „kliknij, aby aktywować”.
Jestem pewien, że ten zadziała!
<embed src="application.swf" quality="high" pluginspage="http://www.macromedia.com/go/getfashplayer" type="application/x-shockwave-flash" width="690" height="430">
Jaka jest najlepsza droga? Słowa takie jak „najbardziej wydajne”, „najszybsze renderowanie” itp. Są bardziej szczegółowe. W każdym razie oferuję alternatywną odpowiedź, która pomaga mi przez większość czasu (nie ma znaczenia, czy jest „najlepsza”, czy nie).
Alternatywna odpowiedź: użyj elementu iframe.
Oznacza to, że umieść plik SWF na serwerze. Jeśli umieścisz plik SWF w folderze głównym lub public_html, plik SWF będzie znajdować się pod adresem www.YourDomain.com/YourFlashFile.swf
.
Następnie w pliku index.html lub w innym miejscu połącz powyższą lokalizację z ramką iframe, a zostanie ona wyświetlona wokół treści w każdym miejscu, w którym umieścisz element iframe. Jeśli możesz umieścić tam ramkę iframe, możesz umieścić tam plik SWF. Spraw, aby wymiary iframe były takie same jak w pliku SWF. W poniższym przykładzie plik SWF ma wymiary 500 na 500.
Pseudo kod:
<iframe src="//www.YourDomain.com/YourFlashFile.swf" width="500" height="500"></iframe>
Linia powyższego kodu HTML osadzi Twój plik SWF. Żaden inny bałagan nie jest potrzebny. Zalety: zgodność z W3C, przyjazny projekt strony, brak problemu z szybkością, minimalistyczne podejście.
Wady: Pusta przestrzeń wokół pliku SWF po uruchomieniu w przeglądarce.
To jest alternatywna odpowiedź. To, czy jest to „najlepsza” odpowiedź, zależy od Twojego projektu.
//www...
za pomocą //
środków, które jeśli na HTTPS lub HTTP działa przy użyciu tego samego typu połączenia
Wiem, że to stare pytanie. Ale ta odpowiedź na razie będzie dobra.
<!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>
Działa na IE, Edge, Firefox, Safari i 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>
To zadziałało dla mnie:
<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>
Użyj <embed>
elementu:
<embed src="file.swf" width="854" height="480"></embed>
Możesz używać JavaScript, jeśli znasz, na przykład:
swfobject.embedSWF("filename.swf", "Title", "width", "height", "9.0.0");
- wersja 9.0.0 to wersja flash.
Możesz też użyć <object>
tagu HTML5.