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

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

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

Регистрация: Nov 2007
Сообщений: 33
По умолчанию ExternalInterface.call ошибки

Приветствую всех.

Вызываю функцию яваскрипта и передаю ей параметры , название функции тоже получаю в флеше как флеш варс. Параметры ,что перерадаются в яваскрипт функцию это Json вида
{"file":"bcac5d9ac429ad90fd99d05c5aa383c7.wav"}

В флеше вызываю функцию яваскрипта так:
Код AS3:
var data=event.target["data"];				
 
var fun: String = callback_after_save + "('" + data + "')";
 
ExternalInterface.call(fun);
В консоле фаерфокса появляется ошибка

SyntaxError: expected expression, got ')'

try { __flash__toXML(()) ; } catch (e) { "<undefined/>"; }

Функция отрабатывает верно и параметры принимает верно. Но эта ошибка возникает постоянно.
Откуда она и с чем связана? Как исправить???

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
а если туда не JSON передавать, а просто строку bcac5d9ac429ad90fd99d05c5aa383c7.wav. Ошибка тоже вываливается?
Так, чисто гипотеза, может из-за кавычек в JSON'е не правильно обрабатывается вызов

п.с. что такое callback_after_save ? Это переменная типа String?

Старый 23.03.2015, 21:09
caste вне форума Посмотреть профиль Отправить личное сообщение для caste Найти все сообщения от caste
  № 3  
Ответить с цитированием
caste

Регистрация: Nov 2007
Сообщений: 33
Да вот с того Jsona получаю имя файла.И отрабатывает,но в консоле фирефокса выдаёт эту ошибку.Т.е да как будто формат не нравится Jsona. Не знаю как испаравить- если бы не отрабатывала функция то было бы понятнее .

function reviewAudioAfterSave(data) {

data = JSON.parse(data);
alert(data.file);

}
Но отрабатывает и имя файла показывает.
В чём тут ошибка - не понимаю.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
я имею в виду если из флеша не перадавать джсон, а просто вызывать так:
Код AS3:
var data=event.target["data"];				
 
var fun: String = callback_after_save + "('bcac5d9ac429ad90fd99d05c5aa383c7.wav')";
 
ExternalInterface.call(fun);
ну и в JS соответственно
Код AS3:
function reviewAudioAfterSave(data) {
 
alert(data);
 
}
вывалится ошибка?

Старый 23.03.2015, 21:20
caste вне форума Посмотреть профиль Отправить личное сообщение для caste Найти все сообщения от caste
  № 5  
Ответить с цитированием
caste

Регистрация: Nov 2007
Сообщений: 33
Да переменная - название функции - получаю её как флешварс.

Добавлено через 1 минуту
Да вроде так не вываливается ошибка...так разве формат моего json не верный??

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от caste Посмотреть сообщение
Да вроде так не вываливается ошибка...так разве формат моего json не верный??
Плевое дело проверить твой JSON.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 23.03.2015, 21:43
caste вне форума Посмотреть профиль Отправить личное сообщение для caste Найти все сообщения от caste
  № 7  
Ответить с цитированием
caste

Регистрация: Nov 2007
Сообщений: 33
Results

Valid JSON

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

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

Старый 23.03.2015, 22:04
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 9  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
Цитата:
Так, загуглил за пять секунд, может оно?
хех, копеечный баг, но исправлять уже нельзя.Похоже, адоб сделал себя заложником своей нерасторопности)

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

Регистрация: Dec 2014
Сообщений: 312
Мне кажется вы неправильно вызываете ExternalInterface.call.

Вы её так вызываете
Код:
ExternalInterface.call('jsFunc(blabla)')
а надо так
Код:
ExternalInterface.call('jsFunc', 'blabla')
Но сам не пользовался, может чушь говорю.

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

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

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


 


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


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