Відповіді:
Найкращим підходом до вбудовування SWF на сторінку HTML є використання SWFObject .
Це проста бібліотека JavaScript з відкритим кодом, яка є простим у використанні та зручним для стандартів способом вбудовування Flash-вмісту.
Він також пропонує виявлення версій Flash Player. Якщо користувачеві не потрібна версія Flash або відключена JavaScript, він побачить альтернативний вміст. Ви також можете використовувати цю бібліотеку для запуску оновлення Flash-програвача. Після оновлення користувача він буде перенаправлений назад на сторінку.
Приклад з документації:
<!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>
Хорошим інструментом для використання поряд з цим є генератор SWFObject HTML та JavaScript . Це в основному генерує HTML та JavaScript, які вам потрібно вбудувати Flash, використовуючи SWFObject. Поставляється з дуже простим інтерфейсом для введення ваших параметрів.
Настійно рекомендується і дуже простий у використанні.
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>
Це підходить для застосування з кореневого середовища.
<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>
Слід / можна додати додаткові параметри, які залежать від .swf він сам. Немає вбудовування , просто об’єкт та параметри всередині, тож він залишається дійсним, працюючим та корисним у будь-якому місці, не важливо, про що! :)
<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>
Якщо ви використовуєте одну з цих бібліотек js для вставки Flash, пропоную додати тег вбудовування простого об’єкта всередині <noscript/>
.
Я використовую http://wiltgen.net/objecty/ , це допомагає вставляти медіа-контент і уникати проблеми IE "click to activate".
Цей буде працювати, я впевнений!
<embed src="application.swf" quality="high" pluginspage="http://www.macromedia.com/go/getfashplayer" type="application/x-shockwave-flash" width="690" height="430">
Який "найкращий" спосіб? Слова типу "найефективніший", "найшвидший візуалізація" тощо є більш конкретними. У будь-якому випадку, я пропоную альтернативну відповідь, яка допомагає мені більшу частину часу (незалежно від того, "найкраще" чи ні) не має значення).
Альтернативна відповідь: Використовуйте рамку iframe.
Тобто розмістити файл SWF на сервері. Якщо ви покладете файл SWF у папку root або public_html, тоді файл SWF буде розміщений у www.YourDomain.com/YourFlashFile.swf
.
Потім на своєму index.html або де завгодно, прив’яжіть вищезгадане місце до свого iframe, і воно відображатиметься навколо вашого вмісту, де б ви не поставили свій кадр iframe. Якщо ви можете помістити туди iframe, ви можете помістити туди файл SWF. Зробіть розміри iframe такими ж, як і файл SWF. У наведеному нижче прикладі файл SWF становить 500 на 500.
Псевдокод:
<iframe src="//www.YourDomain.com/YourFlashFile.swf" width="500" height="500"></iframe>
Рядок HTML коду вище вбудує ваш файл SWF. Жодного іншого безладу не потрібно. Плюси: сумісність з W3C, дружній дизайн сторінки, відсутність швидкості, мінімалістичний підхід.
Мінуси: пробіл навколо файлу SWF під час запуску у веб-переглядачі.
Це альтернативна відповідь. Чи це найкраща відповідь, залежить від вашого проекту.
//www...
допомогою //
кошти, якщо ваш на HTTPS або HTTP працює , використовуючи один і той же тип з'єднання
Я знаю, це старе питання. Але ця відповідь буде корисною для присутніх.
<!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 працює на IE, Edge, Firefox, Safari та 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>
Це працювало для мене:
<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>
Використовуйте <embed>
елемент:
<embed src="file.swf" width="854" height="480"></embed>
Ви можете використовувати JavaScript, якщо ви знайомі, наприклад:
swfobject.embedSWF("filename.swf", "Title", "width", "height", "9.0.0");
- 9.0.0 - це флеш-версія.
Або ви можете використовувати <object>
тег HTML5.