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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.06.2011, 11:59
Jin 2 вне форума Посмотреть профиль Отправить личное сообщение для Jin 2 Посетить домашнюю страницу Jin 2 Найти все сообщения от Jin 2
  № 1  
Ответить с цитированием
Jin 2

Регистрация: Aug 2002
Адрес: Ростов-на-Дону
Сообщений: 74
Отправить сообщение для Jin 2 с помощью ICQ
По умолчанию IE8+swfobject+ExternalInterface = Объект не поддерживает это свойство или метод

Возникает данная ошибка на этом участке кода
Код:
function __flash__addCallback(instance, name) {
  instance[name] = function () { 
    return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>"));
  }
}
в FF всё работает

Старый 09.06.2011, 13:09
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Проверьте, что заданы оба вида идентификатора.
«id» - ActiveX FP, «name» - plugin FP (FF, Chrome, Opera). Или наоборот, не помню.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Aug 2002
Адрес: Ростов-на-Дону
Сообщений: 74
Отправить сообщение для Jin 2 с помощью ICQ
Код:
var flashvars = {auth:(this.uid!=0),auto:this.props.auto};
var params = {menu: "false",scale: "noScale",allowFullscreen: "false",allowScriptAccess: "always",wmode: "transparent",bgcolor: "#FFFFFF"};
var attributes = {id:"Photofaceme",name:"Photofaceme"};
swfobject.embedSWF("bin/Photofaceme.swf", "altContent", "320", "240", "10.0.0", "bin/expressInstall.swf", flashvars, params, attributes,function(e) { pf.swf = e.ref;});
так попробовал, не помогло

Старый 09.06.2011, 13:30
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
trace(ExternalInterface.objectID);
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Aug 2002
Адрес: Ростов-на-Дону
Сообщений: 74
Отправить сообщение для Jin 2 с помощью ICQ
trace(ExternalInterface.objectID)
возвращает Photofaceme

Добавлено через 12 минут
я вообще не могу понять что именно делает эта функция
причем до ошибки она несколько раз нормально вызывается, а ошибка происходит когда name="stop"

Старый 09.06.2011, 16:04
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
div имеет display:none?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 09.06.2011, 16:11
Jin 2 вне форума Посмотреть профиль Отправить личное сообщение для Jin 2 Посетить домашнюю страницу Jin 2 Найти все сообщения от Jin 2
  № 7  
Ответить с цитированием
Jin 2

Регистрация: Aug 2002
Адрес: Ростов-на-Дону
Сообщений: 74
Отправить сообщение для Jin 2 с помощью ICQ
не, такого нет
Код:
<div class="container" id="container">
  <div id="player">
    <div id="altContent"></div>
  </div>
</div>
в классе container тоже нет

Добавлено через 1 час 24 минуты
вставил ролик в чистую html страницу
в ролике закоментировал вообще весь код

и опять тоже самое.

Пробую для примера вставить expressinstall.swf - отлично работает,
что не так, не пойму, мож рожа у меня кривая для его высочества IE

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
У меня было что-то похожее, когда IE случайно находил div / embed с таким же id как и у нужного объекта. Если вы можете поставить брейкпоинт на instance[name] = function () { и посмотреть на instance и name, я думаю, это прояснит ситуацию.
__________________
Hell is the possibility of sanity

Старый 09.06.2011, 18:33
Jin 2 вне форума Посмотреть профиль Отправить личное сообщение для Jin 2 Посетить домашнюю страницу Jin 2 Найти все сообщения от Jin 2
  № 9  
Ответить с цитированием
Jin 2

Регистрация: Aug 2002
Адрес: Ростов-на-Дону
Сообщений: 74
Отправить сообщение для Jin 2 с помощью ICQ
ставлю брейкпоинты
сначала эта функция срабатывает с name="start" без ошибки
потом еще раз но с name="stop", и уже с ошибкой, причем instance тотже, по крайней мере на взгляд(без firebug'а жизнь не сладка)

Добавлено через 11 минут
не поверите, перезагрузил компьютер и ошибка пропала, но это с полностью закоментированым AS3 кодом, буду теперь по частям раскоментировать, не знаю что за злостное кеширование в IE

Добавлено через 17 часов 50 минут
выявил закономерность, если есть хотябы одна строчка кода в конструкторе главного класса, то вызывается
функция __flash__addCallback(instance, name) с name="start" а потом с name="stop", где и происходит ошибка.

Если конструктор пуст, то вызывается только name="start", и без ошибок.

Не могу понять, что означает эта конструкция
Код:
instance[name] = function () { 
    return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>"));
}
В качестве instance передается getElementById(id), где id это id <object> ролика.
получается метод start() устанавливается, а метод stop() нет

Добавлено через 17 часов 55 минут
причем в AS я не ставлю калбэки ни на "start", ни на "stop"
попробовал поставить вручную на "stop", получил 2 одинаковые ошибки.

Добавлено через 18 часов 12 минут
люди сталкивались с проблемами, что в ИЕ нельзя повесить колбэки на start, stop, мол это стандартные методы для activex. но я их и не ставлю, мне совершенно не понятно кто их ставит

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

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

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


 


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


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