Вызов AS3 в полноэкранном режиме с использованием JavaScript - PullRequest
1 голос
/ 29 ноября 2011

Я получил две функции AS3.Тот, который переключает полноэкранный режим, и тот, который вызывается с помощью javascript с ExternalInterface, который только регистрирует «Hello World».

Оба хорошо работают в браузере, но если я пытаюсь вызвать полноэкранную функцию с javascript таким же образом, яполучить ошибку вроде этого:

Error calling method on NPObject!

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

Что я делаю не так?

Ответы [ 2 ]

4 голосов
/ 29 ноября 2011

Полноэкранный режим может быть установлен только путем ввода данных пользователем.Поэтому я боюсь, что вызывать его из javascript нельзя.

Полноэкранный режим запускается в ответ на щелчок мышью или нажатие клавиши пользователем;фильм не может изменить Stage.displayState без участия пользователя.Среда выполнения Flash ограничивает ввод с клавиатуры в полноэкранном режиме.К допустимым клавишам относятся сочетания клавиш, которые завершают полноэкранный режим, и непечатные клавиши, такие как стрелки, пробел, клавиши Shift и Tab.Сочетания клавиш, которые завершают полноэкранный режим: Escape (Windows, Linux и Mac), Control + W (Windows), Command + W (Mac) и Alt + F4.

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage.html#displayState

0 голосов
/ 29 ноября 2011

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

Пожалуйста, прочитайте эту тему:

Следующие ограничения применяются к SWF-файлам, которые воспроизводятся на HTML-странице (не те, которые используютавтономный проигрыватель Flash Player или не запущенный во время выполнения AIR):

* To enable full-screen mode, add the allowFullScreen parameter to the object and embed tags in the HTML page that includes the SWF file, with allowFullScreen set to "true", as shown in the following example:

  <param name="allowFullScreen" value="true" />
            ...
      <embed src="example.swf" allowFullScreen="true" ... >

  An HTML page may also use a script to generate SWF-embedding tags. You need to alter the script so that it inserts the proper allowFullScreen settings. HTML pages generated by Flash Professional and Flash Builder use the AC_FL_RunContent() function to embed references to SWF files, and you need to add the allowFullScreen parameter settings, as in the following:

  AC_FL_RunContent( ... "allowFullScreen", "true", ... )

* Full-screen mode is initiated in response to a mouse click or key press by the user; the movie cannot change Stage.displayState without user input. Flash runtimes restrict keyboard input in full-screen mode. Acceptable keys include keyboard shortcuts that terminate full-screen mode and non-printing keys such as arrows, space, Shift, and Tab keys. Keyboard shortcuts that terminate full-screen mode are: Escape (Windows, Linux, and Mac), Control+W (Windows), Command+W (Mac), and Alt+F4.

  A Flash runtime dialog box appears over the movie when users enter full-screen mode to inform the users they are in full-screen mode and that they can press the Escape key to end full-screen mode.
* Starting with Flash Player 9.0.115.0, full-screen works the same in windowless mode as it does in window mode. If you set the Window Mode (wmode in the HTML) to Opaque Windowless (opaque) or Transparent Windowless (transparent), full-screen can be initiated, but the full-screen window will always be opaque.

Затем необходимо выполнить одну функцию в ActionScript 3.0 для изменения Stage.displaystate, сделав его полноэкранным.

Для вызова функции actionscript 3.0 из JavaScript вы можете использовать API-интерфейс ExternalInterface в ActionScript 3.0.Пожалуйста, обратитесь к описанию API класса ExternalInterface в Справке Adobe.

...