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

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

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

Регистрация: Mar 2009
Адрес: UA -- Kherson
Сообщений: 29
По умолчанию В Internet Explorer не работает ExternalInterface

у меня имеются такие фрагменты кода:
Код AS3:
if (ExternalInterface.available) {
	var href:String = ExternalInterface.call("window.location.href.toString");
	if (href != null) {
		var variablesInd:int = href.lastIndexOf("?");
		variables = (variablesInd >= 0) ? href.substr(variablesInd + 1).split("&") : null;
        }
}
и в другом месте:
Код AS3:
if (ExternalInterface.available) ExternalInterface.call("showRegions");
,
где showRegions - функция JS, определенная в подключаемом к ХТМЛю файле scripts.js .

Так вот: оба фрагмента кода прекрасно работают в FF, Opera, Chrome, но АБСОЛЮТНО не работают во всех версиях IE (вернее не работают только фрагменты с ExternalInterface, все остальное чувствует себя классно). Прилагаю код размещения ролика на странице:
PHP код:
<div id="LMenu" class="mainMenuAbs">
<
script type="text/javascript">

AC_FL_RunContent'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','200','height','540','src','flashes/mainMenu','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','scale','exactfit','wmode','transparent','movie','flashes/mainMenu' ); //end AC code
</script>

<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="200" height="540">
    <param name="movie" value="flashes/mainMenu.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="transparent">
    <param name="SCALE" value="exactfit" />
    <embed src="flashes/mainMenu.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="200" height="540" scale="exactfit" wmode="transparent"></embed>
</object>
</noscript>
</div> 
Я было подумал, что дело в SWFObject (как часто писали здесь на форуме). попробовал убрать фрагмент вставки флешки <script>....</script>, оставив только <object.......>...</object>. Как и следовало ожидать, перестал мувик автоматом активироваться в Опере, но при этом в Эксплорере всё-равно ExternalInterface не заработал.
Может сможете кто-нибуть помочь в этом? заранее спасибо!

Старый 13.10.2009, 21:32
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 2  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
ну вообще dom у ie отличается от ff и opera. так что возможно какого-то из элементов window.location.href.toString может и нет (точно не могу сказать)/ проверить можно легко: сравнивать каждый элемент с null
и вообще, не должно ли быть
Код:
window.location.href.toString();
__________________
я могу стать всем, если только захочу

Старый 13.10.2009, 23:56
kirea вне форума Посмотреть профиль Отправить личное сообщение для kirea Найти все сообщения от kirea
  № 3  
Ответить с цитированием
kirea
 
Аватар для kirea

Регистрация: Mar 2009
Адрес: UA -- Kherson
Сообщений: 29
Цитата:
Сообщение от Felicast Посмотреть сообщение
и вообще, не должно ли быть
Код:
window.location.href.toString();
ну при вызове js-функций без параметров вроде бы скобки () ставить не надо -- во всяком случае без них всегда работало.

И все дружно на форуме к сожалению НЕ заметили, что проблема вообще не в корректности строки window.location.href.toString(). ((
Ведь не работает также вызов js-функции showRegions(), хотя из других браузеров вызывается.
Код AS3:
if (ExternalInterface.available) ExternalInterface.call("showRegions");
то есть вообще никакие вызовы js через ExternalInterface не срабатывают в IE


Последний раз редактировалось kirea; 14.10.2009 в 00:30.
Старый 13.10.2009, 21:45
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
document.location
__________________
Hell is the possibility of sanity

Старый 14.10.2009, 02:03
incoob вне форума Посмотреть профиль Отправить личное сообщение для incoob Найти все сообщения от incoob
  № 5  
Ответить с цитированием
incoob

Регистрация: Mar 2008
Сообщений: 215
Может у вас на компьюетере просто ие сломался? Или версия плеера в нем некошерная.

А вообще, проще всего работоспособность яваскрипта каким-нибудь алертом проверять:
Код AS3:
ExternalInterface.call("alert()")

Старый 14.10.2009, 08:52
kirea вне форума Посмотреть профиль Отправить личное сообщение для kirea Найти все сообщения от kirea
  № 6  
Ответить с цитированием
kirea
 
Аватар для kirea

Регистрация: Mar 2009
Адрес: UA -- Kherson
Сообщений: 29
Цитата:
Сообщение от incoob Посмотреть сообщение
Может у вас на компьюетере просто ие сломался? Или версия плеера в нем некошерная.
А вообще, проще всего работоспособность яваскрипта каким-нибудь алертом проверять:
Код AS3:
ExternalInterface.call("alert()")
проверял на трех разных машинах!!!! с разными операционками и версиями IE. Насчет алерта не катит. Как я написал выше: до вызова js-функций в IE дело вообще не доходит.

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
Цитата:
ну при вызове js-функций без параметров вроде бы скобки () ставить не надо -- во всяком случае без них всегда работало.
ну как минимум использование скобок - это хороший тон. и повышает читаемость
__________________
я могу стать всем, если только захочу

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

Регистрация: Mar 2009
Адрес: UA -- Kherson
Сообщений: 29
попробовал уже и со скобками () и без.... в ИЕ никак не работает.
но самый прикол заключается в том, что ExternalInterface.available стабильно выдает true (по идее уже всё должно работать), но тем не менее js-функции не вызывает (((

Старый 14.10.2009, 14:00
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Добавить в HTML allowAccess="always".
И вообще, установите дебаг плеер, я не представляю, как вообще можно что-то разрабатывать на AS не пользуясь дебаг плеером...
__________________
Hell is the possibility of sanity

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

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Помимо allowAccess в хелпе еще советую определять allowDomain, если происходит securityError, но происходит ли эта ошибка можно узнать поставив дебажный проигрыватель

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

Теги
explorer , externalinterface
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

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

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


 


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


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