Каковы недостатки прямого подключения к SWF?

StackOverflow https://stackoverflow.com/questions/53989

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Плюсы прямой ссылки на SWF-файл:

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

Недостатки:

  • У вас мало контроля над настройками фильма по умолчанию.
  • Вы не можете использовать собственные цвета фона, прозрачность и т. д.
  • Вы не можете использовать flashVars для отправки данных в фильм из HTML.
  • Невозможно использовать команду fs из фильма на страницу.
  • Пропорции фильма никогда не совпадают с соотношением сторон окна пользователя.
  • Вы не можете компенсировать неконкурентоспособность браузера (выходит следующий новый браузер, и у вас проблемы)
  • Нет 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 строк кода?Используя что-то вроде SWFобъект значительно уменьшает это количество (и, как правило, вы не хотите выполнять обнаружение плагинов и т. д.все равно вручную).

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top