2011-01-05 3 views
0

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

Большинство моих случаев использования находятся вне контекста 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

Вы можете использовать getFlashPlayerVersion метод SWFObject (в объяснили here), чтобы проверить версию 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. 
    } 
} 
+0

Это теоретически работает отлично, спасибо pipwerks - я дам ему день или два, прежде чем ответить в случае, если что-то приходит, хотя, потому что когда я загрузить страницу (3.6.13) он выполняет условие has_version_8_or_greater как истинное - хотя я предположительно запускаю версию 7. Итак, я открыл набор для обнаружения Adobe Flash и ... он предупредил версию 8 (также «неверно»,), и в результате обнаружение AS затем отслеживает версию 7 (правильно). Я назову это ошибкой FlashSwitcher и теперь использую обнаружение версии AS для печати устаревшего предупреждения. – danjah

+0

О, и еще немного разобраться - перед использованием FlashSwitcher Firefox установил последнюю версию FP10, а не v8: P – danjah

+0

Хорошо, проверял ваш ответ на несколько ящиков сейчас, отлично работает, спасибо :) – danjah