Полноэкранное Flash-слайд-шоу - PullRequest
1 голос
/ 31 мая 2011

Раньше я работал над флэш-приложением, которое было бы встроено в веб-страницу с разрешением 100x20 и загружало изображение для кнопки на основе XML.При нажатии кнопки приложение переходит в полноэкранный режим с помощью AS3.

stage.displayState = StageDisplayState.FULL_SCREEN;

Это прекрасно работает - приложение работает в полноэкранном режиме, как и ожидалось.

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

Я переместил приведенный выше код из функции _click(e:MouseEvent) и поместил его прямо вконструктор класса документа приложения.Однако это не работает, когда он встроен в веб-страницу?Когда я открываю SWF на моем ПК, он работает нормально (сразу запускается в полноэкранном режиме).Просто не хочу, чтобы это происходило, когда он находится на веб-странице.

Вот JS, который я использую для загрузки своего SWF.

// vars
var xml = <?php echo $_GET["xml"]; ?>;

/**
 * Launch fullscreen flash slideshow
 */
function launch()
{
    var object = '<object width="1" height="1"><param name="allowfullscreen" value="true" />';
    object += '<param name="wmode" value="transparent" /><param name="flashvars" value="xmllocation=http%3A%2F%2Fimagetrack.com.au%2Fsc%2Fsc.xml%3Fid%3D' + xml + '" />';
    object += '<embed width="1" height="1" src="application.swf?xmllocation=http%3A%2F%2Fimagetrack.com.au%2Fsc%2Fsc.xml%3Fid%3D' + xml + '" wmode="transparent" allowfullscreen="true" />';
    object += '</object>';

    var e = $(object);
    var p = $("body");

    p.append(e);
}

, который, очевидно, просто добавляет объект кстр.Есть ли другой способ, которым я могу пойти по этому поводу?Или я просто что-то упустил?Я предполагаю, что причина в том, что полноэкранный режим заблокирован, если он не инициирован пользователем.

1 Ответ

2 голосов
/ 31 мая 2011

Это ограничение безопасности флэш-памяти.Вы абсолютно не можете запускать flash в полноэкранном режиме, не делая этого явно из события щелчка.

http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7c5d.html

...