





<object width = "100" height = "100">
<param name = "movie" value = "file.swf">
<embed src = "file.swf" width = "100" height = "100">
</embed>
</object>
Нет спецификации пользователя, чтобы быть действительным XHTML, он попросил HTML
В этой статье есть хорошее объяснение встраивания Flash и действительного XHTML. yoast.com/articles/valid-flash-embedding
почему бы не использовать атрибут data в элементе <объект>? Цитата из документов w3c html5: Присутствует по крайней мере один из атрибута данных или атрибута типа должен.
@JokoWandiro ссылка, которую вы предоставили, к сожалению, исчезла. Вот архивная версия: web.archive.org/web/20180602024700/https://yoast.com/…
Лучший способ встроить SWF в HTML-страницу - использовать SWFObject.
Это простая библиотека JavaScript с открытым исходным кодом, которая представляет собой простой в использовании и совместимый со стандартами метод встраивания содержимого Flash.
Он также предлагает определение версии Flash-плеера. Если у пользователя нет требуемой версии 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. Поставляется с очень простым пользовательским интерфейсом для ввода параметров.
Настоятельно рекомендуется и очень проста в использовании.
SWFObject хорош. Просто работает. Еще более замечательная идея - использовать сеть доставки контента для получения javascript. Я использую Google ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js
У меня были проблемы с использованием тега объекта непосредственно в IE9, но он отлично работает с swfobject.
Спасибо за Ваш ответ. Теперь можете предложить плеер для доступа к возможности воспроизведения вместе с рабочим примером в самом html. ????
Может ли это работать на той системе, где не установлен flash player или он поддерживает все браузеры.
Теперь проект перемещен на GitHub: github.com/swfobject/swfobject, а новый метод встраивания SWF-объекта - var el = document.getElementById("my-target-element"); swfobject.embedSWF("myContent.swf", el, 300, 120, 10);.
swfobject больше не работает с Chrome. Новая политика Chrome (по умолчанию HTML) развертывается, начиная с версии 55, и больше не инициализирует переменные, которые swfobject должен проверять, установлен ли Flash. swfobject может выдать неверное сообщение «установить флэш», когда на самом деле Flash просто блокируется Chrome, вызывая путаницу у пользователя. Для Chrome лучшим вариантом может быть простое использование <object> для встраивания Flash.
Примечание: этому ответу более 10 лет, и он очень устарел. Это больше не работает с Chrome, как упоминает @Chris. Пожалуйста, посмотрите несколько лучших ответов HTML5. Они просты и поддерживаются непосредственно поставщиками браузеров и не требуют загрузки библиотеки swfobject для ваших пользователей.
Я использую http://wiltgen.net/objecty/, это помогает встраивать медиа-контент и избегать проблемы IE "нажмите, чтобы активировать".
Проблема с «щелчком для активации» называется «активацией eolas», но в актуальных версиях IE она устранена.
Как уже упоминалось, объект SWF великолепен. НЛО тоже стоит посмотреть
Если вы используете одну из этих js-библиотек для вставки Flash, я предлагаю добавить тег встраивания простого объекта внутри <noscript/>.
<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>
Обратите внимание, что параметры object> data и movie> value совпадают. Этот код должен работать для любого бесплатного просмотра и публикации видео на YouTube.
Вообще говоря, желательно, чтобы ответы объясняли код, который они дают, а не просто перетаскивают код задающему. Цель состоит в том, чтобы узнать о проблемах и предотвратить их в будущем, а не заставить их исчезнуть.
Это подходит для приложений из корневой среды.
<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. Нет встраивания, просто объект и параметры внутри, поэтому он остается действительным, работает и может использоваться везде, не имеет значения, о каком! DOCTYPE. :)
Какой способ лучше? Такие слова, как «наиболее эффективный», «самый быстрый рендеринг» и т. д. Более конкретны. В любом случае, я предлагаю альтернативный ответ, который помогает мне большую часть времени (независимо от того, является ли он «лучшим» или нет).
Альтернативный ответ: используйте iframe.
То есть разместить SWF-файл на сервере. Если вы поместите SWF-файл в корневую папку или папку 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-файла при запуске в браузере.
Это альтернативный ответ. Будет ли это «лучший» ответ, зависит от вашего проекта.
для google @Stoic извините, что вы ошиблись, это должен быть //www... с использованием //, означает, что если вы используете HTTPS или HTTP, он работает с использованием того же типа подключения
Если вы знакомы, вы можете использовать JavaScript, например:
swfobject.embedSWF("filename.swf", "Title", "width", "height", "9.0.0");
- 9.0.0 - это флэш-версия.
Или вы можете использовать тег <object> HTML5.
-1 swfobject - это не просто часть JavaScript, вы не можете просто вызвать его, не встраивая библиотеку. и большая часть функций тега <object> была удалена из HTML 4-5. Его все еще можно использовать, но не рекомендуется. В общем, очень плохой ответ.
Вы уже пробовали это, прежде чем сказать, что это очень плохой ответ? имейте в виду, что очень плохой ответ - это ответ, который не работает полностью или неправильно.
тот факт, что вы сообщаете кому-то использовать javascript, а затем вставляете код с использованием библиотеки javascript, о которой вы даже не упомянули, делает это плохим ответом
Я уже упоминал об использовании Javascript и дал сценарий. Если бы я дал весь рабочий код / скрипт, который делает кормление с ложечки. Скрипт прекрасен, это всего лишь логика.
Вы неправильно поняли мой комментарий. Вы не сказали ему включить файл Javascript SWFObject
Это сработало для меня:
<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>
Как насчет простого встраивания тега HTML5?
<!DOCTYPE html>
<html>
<body>
<embed src = "anim.swf">
</body>
</html>
Я уверен, что это сработает!
<embed src = "application.swf" quality = "high" pluginspage = "http://www.macromedia.com/go/getfashplayer" type = "application/x-shockwave-flash" width = "690" height = "430">
Я знаю, что это старый вопрос. Но пока этот ответ будет хорош.
<!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>
Используйте элемент <embed>:
<embed src = "file.swf" width = "854" height = "480"></embed>
Этот код недействителен для XHTML ... <embed> не должен находиться в теге объекта.