Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   что за хрень творится с ExternalInterface в Flash Professional CC? (http://www.flasher.ru/forum/showthread.php?t=211399)

undefined 23.08.2015 13:30

что за хрень творится с ExternalInterface в Flash Professional CC?
 
Создаю новый документ пишу в первом кадре
Код AS3:

import flash.external.ExternalInterface;
trace(ExternalInterface.available+"");

запускаю - вижу true.Это внутри IDE(!).При этом все вызовы ExternalInterface.call возвращают null(без каких-либо эксепшенов).Запускаю на отладку(ctrl+shift+enter) - пишет false,попытка вызова ExternalInterface.call приводит к эксепшену.В браузере ExternalInterface.available=true,но вызов ExternalInterface.call приводит к эксепшену(allowScriptAccess="always" стоит)

AlexCooper 23.08.2015 14:51

ExternalInterface это обращение к внешнему интерфейсу, т.е. к веб-странице. В СС у вас флешка в штмл-странице?

undefined 23.08.2015 14:57

Цитата:

ExternalInterface это обращение к внешнему интерфейсу, т.е. к веб-странице. В СС у вас флешка в штмл-странице?
Не понял.В CC я просто создаю новый документ, вставляю код из первого поста и запускаю(ctrl+enter).Все, никаких дополнительных телодвижений я не делаю.В консоле появляется true.Никаких html страниц там пока нет.
2 All,у кого стоит CC можете подтвердить поведение?

Добавлено через 6 минут
upd: криво работает только в хроме(+все хромиум) и опере, в ie,ff,сафари все ок

AlexCooper 23.08.2015 15:58

swfobject'ом встраиваете?

undefined 23.08.2015 19:29

встраиваем вслед за CC через тэг <object>

AlexCooper 23.08.2015 20:32

код покажите, кофейная гуща закончилась

undefined 23.08.2015 21:13

дык в первом посте же

Добавлено через 14 минут
код html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
html, body { height:100%; background-color: #ffffff;}
body { margin:0; padding:0; overflow:hidden; }
#flashContent { width:100%; height:100%; }
</style>
</head>
<body>
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" id="test" align="middle">
<param name="movie" value="test.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="always" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="test.swf" width="550" height="400">
<param name="movie" value="test.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="always" />
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Загрузить Adobe Flash Player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
</body>
</html>

Attos 24.08.2015 20:14

У меня все вызовы ExternalInterface из IDE кидают эксепш, что неудивительно.
Попробуйте при запуске в браузере в ExternalInterface.call() прописать все-таки какую-нить функцию, какая есть на странице. По-моему, там даже ExternalInterface.call("alert", "Hello World!"); работает.

undefined 24.08.2015 21:49

Attos,Flash CC? А из первого поста код выдает true или false в IDE?
Цитата:

Попробуйте при запуске в браузере в ExternalInterface.call() прописать все-таки какую-нить функцию, какая есть на странице. По-моему, там даже ExternalInterface.call("alert", "Hello World!"); работает.
собственно алерт и вызываю


Часовой пояс GMT +4, время: 12:52.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.