Как настроить вывод SWF "старой версии" с помощью swfobject 2.1? - PullRequest
0 голосов
/ 05 января 2011

Я использовал swfobject для недавнего проекта, и это здорово.Но теперь, когда мне удалось запустить FlashSwitcher и запустить его в Firefox, я заметил, что когда я запускаю Flash Player 7, информация, отображаемая, когда я использую версию ниже указанной, была настроена (в данном случаеСтраница Moodle, в которой находится код для встраивания swfobject).Прикрепленный снимок экрана этого выходного SWF, созданного Moodle.Я могу подтвердить, что некоторые из моих пользователей также видят это, поэтому мой FlashSwitcher работает правильно.

Большинство моих сценариев использования находятся вне контекста Moodle, они автономны, то, что я ищу, это точно как они настроили его, как я могу изменить их настройку, и как я могу сделать то же самое, когда обнаружение swfobject автономно.

Обратите внимание, что принуждает пользователя обновлять свой плагин Flash Player черезExpressInstall не одобряется клиентом, ему нужны предложения и ссылка, но без автоматической установки и т. П.

В моей реализации используется метод «дважды приготовленный», поскольку у меня есть требование доступности, чтобы показывать не Flashконтент должен иметь пользователь Flash, Javascript или оба.Вот мой вызов метода встраивания, который выполняется при возникновении события загрузки документа YUI2:

swfobject.embedSWF("../../swf/video-loader.swf", "flash_object_a", "877", "400", "8.0");

В конечном итоге я хочу настроить вывод «старой версии», чтобы он был чем-то созданным / написанным.

Screenshot of swfobject 2.1 old version notification when in a Moodle context

ура, д

1 Ответ

1 голос
/ 05 января 2011

Вы можете использовать метод getFlashPlayerVersion swfobject (объясненный здесь ), чтобы проверить версию Flash Player и предпринять соответствующие действия.

Простой пример:

var has_version_8_or_greater = swfobject.hasFlashPlayerVersion("8");

if(has_version_8_or_greater){
   //embed SWF using SWFObject
} else {
   //Check to see whether an older version of Flash is found.
   var version = swfobject.getFlashPlayerVersion();
   if(version.major > 0){
      //You have Flash but it's too old.
      var version_str = version.major + "." + version.minor + "." + version.release;
      alert("You have Flash Player version " + version_str + ". Please update!");
   } else {
      //You don't have Flash.
   }
}
...