Связывание непосредственно с 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, что можно сделать без одной строки, напрямую связавшись с ней.

7 ответов


Upsides для ссылки непосредственно на SWF-файл:

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

минусы:

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

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


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

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


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


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


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


дополнительные преимущества:

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

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


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