Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   navigateToURL(); и javascript (http://www.flasher.ru/forum/showthread.php?t=210949)

PsychoTech 31.05.2015 15:20

navigateToURL(); и javascript
 
добрый день. Думаю ситация проста и знаакома но я пока не могу разобраться. В общем перерыл интернет вроде нашел то что нужно но вот беда не могу понять почему у меня это не работает.
Задача вызвать флешем функцию javascript.
Сделал все как пишут умные люди, но почему-то при запуске на дебаге происходит открывание новой вкладке с адресом указаном в URL. то есть в моем случае пишет: "javascript: myfunction();" (то что в кавычках без них.) Я так понимаю что вызов происходит успешно, но вот когда это все дело происходит непосредственно на странице тут глухо. не происходит ровным счетом ничего. Функция есть и она рабочая, находится в файле привязаном к странице, в обще все работает кроме вызова. может я не правильно вызываю?

Код AS3:

navigateToURL(new URLRequest("javascript:myfunction();"));

в общем подскажите все загвоздка?

undefined 31.05.2015 16:06

тыц

PsychoTech 31.05.2015 16:11

то есть нужно использовать
Код AS3:

ExternalInterface.call("sendToJavaScript", input.text);

вместо
navigateToURL(new URLRequest("javascript:myfunction();"));

undefined 31.05.2015 17:16

Цитата:

ExternalInterface.call("sendToJavaScript", input.text);
Скорее так
Код AS3:

if (ExternalInterface.available) {
ExternalInterface.call("sendToJavaScript", input.text);
}

Ток не забудь allowScriptAccess ="always" в html выставить

PsychoTech 31.05.2015 17:34

Цитата:

Сообщение от undefined (Сообщение 1183001)
Скорее так
Код AS3:

if (ExternalInterface.available) {
ExternalInterface.call("sendToJavaScript", input.text);
}

Ток не забудь allowScriptAccess ="always" в html выставить

по прежнему тишина на странице.

undefined 31.05.2015 21:14

Цитата:

по прежнему тишина на странице.
А как флэшка встраивается в страницу с помощью swfObject или через тэг embed?Если второй способ, там обычно в 2-ух местах allowScriptAccess выставлять надо

Добавлено через 1 минуту
Попробуй как-нибудь узнать чему равен ExternalInterface.available при запуске в браузере

PsychoTech 31.05.2015 23:44

Цитата:

А как флэшка встраивается в страницу с помощью swfObject или через тэг embed?Если второй способ, там обычно в 2-ух местах allowScriptAccess выставлять надо
вот так.

Код:

<object type="application/x-shockwave-flash" data="/image/movie.swf" width="160" height="200">
                        <param name="movie" value="/image/movie.swf">
                        <param name="quality" value="high">
                        <param name="allowscriptaccess" value="always"/>
                        <param name="FlashVars" value="userid=<? echo session_id()?>">
                        </object>

Код AS1/AS2:

Попробуй как-нибудь узнать чему равен ExternalInterface.available при запуске в браузере

отвечает трусяк (true)

undefined 01.06.2015 13:21

попробуй заменить вызов EI на
Код AS3:

if (ExternalInterface.available) {
ExternalInterface.call("alert", "test");
}


PsychoTech 01.06.2015 14:11

перепробовал разные варианты записи.

может быть в этом ошибка
Код AS3:

flash.system.Security.allowDomain('http://www.mysite.ru')


undefined 01.06.2015 14:20

Цитата:

может быть в этом ошибка
Это определяет смогут ли флэшки с других доменов обращаться к твоей флэшкой.На работоспособность EI никак не влияет
А до вызова EI точно дело доходит? Если поставить trace перед if (ExternalInterface.available) {.. пишет в консоль что-нибудь?


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

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