Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.02.2011, 14:47
dgastudio вне форума Посмотреть профиль Отправить личное сообщение для dgastudio Найти все сообщения от dgastudio
  № 1  
Ответить с цитированием
dgastudio

Регистрация: Mar 2010
Сообщений: 5
По умолчанию ExternalInterface VS Internet Explorer

Добрый день

AS3
Код AS3:
function clickHandler(event:Event):void{
import flash.external.ExternalInterface;
    if(event.target.name == "button_1"){
        if (container.button_1.selected == true) {
            layer_2.alpha = layer_3.alpha = layer_4.alpha = layer_5.alpha = layer_6.alpha = layer_7.alpha = layer_8.alpha = 1;
            ExternalInterface.call("showDiv", "layer_1");
            ExternalInterface.call("hideDiv", "layer_2");
            ExternalInterface.call("hideDiv", "layer_3");
            ExternalInterface.call("hideDiv", "layer_4");
            ExternalInterface.call("hideDiv", "layer_5");
            ExternalInterface.call("hideDiv", "layer_6");
            ExternalInterface.call("hideDiv", "layer_7");
            ExternalInterface.call("hideDiv", "layer_8");            
 
        } else {            
            layer_5.alpha = 0;
            layer_6.alpha = 0;
            ExternalInterface.call("hideDiv", "layer_1");
        }
 
    }
..................etc..............
HTML
PHP код:
<script type="text/javascript">
    var 
flashvars = {};
    var 
params = {};
    
params.allowscriptaccess "always";
    var 
attributes = {};
    
attributes.id "flash";
    
swfobject.embedSWF("main_v3.swf""flash""650""400""8.0.0""expressInstall.swf"flashvarsparamsattributes);
</script>


<script type="text/javascript">
    function hideDiv(class)
    {
            $("."+class).fadeOut("slow");
    }
    function showDiv(class)
    {
            $("."+class).fadeIn("slow");
            $('html,body').animate({scrollTop: $("#box2").offset().top},'slow');
    };
</script>
<div class="flash_wrapper">
<div id="flash">
            <a href="http://www.adobe.com/go/getflashplayer">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
            </a>
        </div>
</div>
<p id="box2"></p> 
<div class="layer_1 hidden">test contetn</div> 
смысл всего этого:
при клике на кнопку в флеше, показывается определенный div на странице.

все отлично работает во всех браузерах кроме Internet Explorer.

Не могу понять в чем проблема. Помогите пожалуйста.

Старый 24.02.2011, 15:45
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Попробуйте протестировать не локально.
__________________
hauts.ru

Старый 24.02.2011, 17:14
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 3  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 dgastudio:
А вы проверили, выполняется ли вообще JS-функция? Понятно, что "не работает", но вопрос в том, где. Поставьте туда хотя бы alert для начала и посмотрите.
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 24.02.2011, 17:19
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 4  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Короткая ремарка: вынесите импорт класса за пределы функции. И перед вызовом ExternalInterface можно проверять его доступность.
Код AS3:
import flash.external.ExternalInterface;
function clickHandler(event:Event):void {
    ...
    if (ExternalInterface.available) {
        ExternalInterface.call(...);
        ...
    }
    ...
}

Старый 24.02.2011, 17:42
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 5  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
И перед вызовом ExternalInterface можно проверять его доступность.
я бы даже уточнил - не можно, а нужно
а еще лучше - запускать проверку по таймеру, пока он не станет доступным
стал доступным - начали работать

Старый 24.02.2011, 18:14
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 6  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
он не может случайно "стать доступным". он либо доступен, либо нет.

Старый 24.02.2011, 22:19
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 7  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Цитата:
все отлично работает во всех браузерах кроме Internet Explorer.
Див случаем не над флэшкой?

Старый 25.02.2011, 00:16
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 8  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
он не может случайно "стать доступным". он либо доступен, либо нет.
да, это я погорячился

Старый 25.02.2011, 13:14
dgastudio вне форума Посмотреть профиль Отправить личное сообщение для dgastudio Найти все сообщения от dgastudio
  № 9  
Ответить с цитированием
dgastudio

Регистрация: Mar 2010
Сообщений: 5
Понаставил ALERT'ов.

PHP код:
function hideDiv(class)
{
$(
"."+class).fadeOut("slow");
alert('hideDiv', class);
}
function 
showDiv(class)
{
$(
"."+class).fadeIn("slow");
$(
'html,body').animate({scrollTop: $("#box2").offset().top},'slow');
alert('showDiv', class);
}; 
ничего.

Вообщем в IE8 не прокатывает обращение из моей флешки в javascript

Добавлено через 31 секунду
Цитата:
Сообщение от Hauts Посмотреть сообщение
Попробуйте протестировать не локально.
флешка в онлайне

Цитата:
Сообщение от Хемуль Посмотреть сообщение
2 dgastudio:
А вы проверили, выполняется ли вообще JS-функция? Понятно, что "не работает", но вопрос в том, где. Поставьте туда хотя бы alert для начала и посмотрите.
сама функция работает, протестировал в IE8 + Developers Tools. Также, все работает в остальных браузерах.

Цитата:
Сообщение от Astraport Посмотреть сообщение
Див случаем не над флэшкой?
Нет, кнопки нажимаются но не запускают нужный jscript.

Добавлено через 2 минуты
И чтобы зря Вас на путать, вот пример.

http://new.alutech.ru.eik.neolocatio...ECTION_ID=4519

Старый 25.02.2011, 13:17
dgastudio вне форума Посмотреть профиль Отправить личное сообщение для dgastudio Найти все сообщения от dgastudio
  № 10  
Ответить с цитированием
dgastudio

Регистрация: Mar 2010
Сообщений: 5
также прилагаю исходники.
Вложения
Тип файла: rar main_v3.rar (613.4 Кб, 18 просмотров)

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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