Прямая ссылка на SWF, каковы недостатки?

Обычно приложения Flash и Flex встраиваются в HTML с помощью комбинации тегов object и embed или, чаще, с использованием JavaScript. Однако, если вы установите ссылку непосредственно на SWF-файл, он откроется в окне браузера, и, не глядя в адресную строку, вы не сможете сказать, что он не был встроен в HTML с размером, установленным на 100% ширины и высоты.

Учитывая накладные расходы на HTML, CSS и JavaScript, необходимые для встраивания приложения Flash или Flex, заполняющего 100% окна браузера, каковы недостатки прямого связывания вместо этого с файлом SWF? Какие плюсы?

Я могу вспомнить один положительный момент и три недостатка: вам не нужны более 100 строк HTML, JavaScript и CSS, которые требуются в противном случае, но у вас нет обнаружения плагинов, проверки версий, и вы теряете свой лучший вариант SEO (прогрессивное улучшение ).

Обновление не зацикливайтесь на более чем 100 строках, я просто имею в виду, что объем кода, необходимого для встраивания SWF, довольно велик (и я имею в виду включение таких библиотек, как SWFObject), и это просто для отображения SWF, что можно сделать без единой строки, напрямую связавшись с ним.


person Theo    schedule 10.09.2008    source источник


Ответы (7)


Преимущества прямой ссылки на SWF-файл:

  • Более быстрый доступ
  • Вы знаете, что это флеш-ролик, еще до того, как нажали на ссылку
  • Пропуск файлов html и js (вы все равно не будете использовать CSS для отображения 100% flash-ролика)

Минусы:

  • У вас мало контроля над настройками фильмов по умолчанию.
  • Вы не можете использовать собственные цвета фона, прозрачность и т. Д.
  • Вы не можете использовать flashVars для отправки данных в фильм из HTML
  • Невозможно использовать команду fscommand из фильма на страницу
  • Пропорции фильма никогда не совпадают с соотношением сторон окна пользователя.
  • Вы не можете компенсировать несовместимость браузера (выходит следующий новый браузер, и у вас проблемы)
  • Нет SEO
  • Нет заголовка страницы, плохо, если вы хотите, чтобы люди правильно делали закладки.
  • Нет информации о плагинах, ссылок для скачивания и т. Д.
  • Если ваш SWF-файл подключается к внешним источникам данных, у вас могут возникнуть проблемы с междоменными данными.
  • Переименование SWF-файла также приведет к переименованию ссылки. Плохо для управления версиями.

Короче говоря, для сложного приложения всегда используйте HTML. Для простого анимационного фильма вы можете пойти любым путем.

person Community    schedule 20.09.2008

Вы также теряете внешний контроль над SWF. Когда он встроен в HTML, вы можете использовать javascript для связи с SWF. Если SWF загружается напрямую, это может быть невозможно.

Ваша цитата из 100+ строк кажется мне довольно высокой. HTML-код, который FlashDevelop создает для встраивания SWF, составляет всего около 35 строк, включая один файл swfobject.js. Вам не нужно прикасаться к файлу js, и, самое большее, нужно будет настроить HTML очень незначительными способами, чтобы заставить его делать то, что вы хотите.

person Herms    schedule 10.09.2008

По моему опыту, не все браузеры справляются с этим должным образом. Я не совсем уверен, почему (или какие браузеры), но я иногда по ошибке отправлял такие ссылки клиентам, и они часто возвращались запутанными. Я подозреваю, что их браузер предлагает им загрузить файл вместо того, чтобы правильно его отображать.

person grapefrukt    schedule 10.09.2008

Один положительный момент, о котором я могу думать, - это возможность указывать параметры GET в прямом URL-адресе SWF, который затем будет доступен в приложении Flash (через Application.application.parameters в Flex, не знаю, как вы получите к ним доступ во Flash CS3). Это, конечно, может быть достигнуто и другими способами, если у вас есть оболочка HTML, но так работать меньше.

person hasseg    schedule 10.09.2008

Зачем вам нужно более 100 строк кода? Использование чего-то вроде swfobject значительно сокращает это количество (и обычно вы не хотите в любом случае обнаружение плагинов и т. д. вручную).

person ujh    schedule 10.09.2008

Больше преимуществ:

  1. Легкий вид, потому что вы можете избавиться от заголовка со всеми панелями инструментов, которые, кажется, накапливаются там, и даже полоса прокрутки не нужна. Это увеличивает эффект, когда вы пытаетесь показать много действий в короткой вспышке.
  2. Главное: вы получаете его в окне, которое вы можете перетаскивать больше или меньше и увеличивать или уменьшать фильм. Плеер изменит размер фильма, чтобы заполнить имеющееся у вас окно. Это отлично подходит для таких вещей, как групповые фотографии, когда каждый хочет увеличить, чтобы найти себя и своих друзей. Я сделал это для производства однокадровой Flash!

Недостатки: как и в случае со всплывающими окнами в целом, если вы запрашиваете несколько всплывающих окон с одного и того же сайта, и вам нужны всплывающие окна разного размера, браузеры, как правило, просто переопределяют размер, который вы запрашиваете в window.open, и повторно используют все, что отображается. Вам нужно закрыть все открытые всплывающие окна, чтобы window.open создавало новое. Это усложняется, и мне не удалось заставить его работать на разных страницах веб-сайта. Всем, кто сделал это успешно, пожалуйста, опубликуйте, как это сделать!

person avidweaver    schedule 11.10.2011

Adobe должно быть стыдно за себя со стандартным встраиванием, которое побеждает возникновение условностей над конфигурацией. Отметьте ^ swfobject (как указано выше) или swfin.

person featureBlend    schedule 01.01.2009