ExternalInterface.call () не получение возвращаемого значения

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

console.log (lookatthis);

6
задан Benny 3 September 2011 в 09:52
поделиться

7 ответов

Источник проблемы, которую я имел, должен сделать тег object, который я использовал для встраивания фильма флэш-памяти. Я использовал тег, который последовал этому примеру http://www.w3schools.com/flash/flash_inhtml.asp, я изменил его для соответствия этому примеру: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_4150 и затем я удостоверился, что добавил идентификатор к объекту, и все работало.

2
ответ дан 17 December 2019 в 07:09
поделиться

Это - рабочий образец на основе кода, который Вы предоставили. Можно щелкнуть правой кнопкой по нему для просмотра источника. Я подозреваю, что проблема заключается в HTML для 'myDiv' или когда Вы выполняете actionscript вызов.

3
ответ дан 17 December 2019 в 07:09
поделиться

Попытайтесь добавить as String к вызову:

textField.text = ExternalInterface.call("JSFunc") as String;
0
ответ дан 17 December 2019 в 07:09
поделиться

Я также заметил, что Вы получили опечатку в своем коде => текстовое поле! = текстовое поле

0
ответ дан 17 December 2019 в 07:09
поделиться

Мне кажется, что Ваша проблема состоит в том, что из JavaScript Вы возвращаете строку, innerHTML свойство Вашего myDiv элемента. В actionscript у Вас есть datatyped переменная, к которой возвращается Вызов ExternalInterface как Объект, но это - Строка. Возможно, Вы уже поймали это, но я не могу сказать, поскольку Вы не исправили свой код.

//The following is an Object
var x = document.getElementById("myDiv");

/*
You are returning the innerHTML property of x, a string, but on the
flash end your expecting an object in your actionscript.
*/
return x.innerHTML;

//The following seems incorrect to me.
var retData:Object = ExternalInterface.call("JSFunc");

//Should be
var retData:String = ExternalInterface.call("JSFunc");

Надежда это было полезно, заботятся.

0
ответ дан 17 December 2019 в 07:09
поделиться

Попытайтесь вернуть объект от своего внешнего интерфейсного вызова, не бросая его сначала и смотреть на него в отладчике. Если это не будет строка, то пытаться бросить его к строке приведет к пустому указателю. Это должно быть строкой, но не повреждает видеть то, что Вы на самом деле возвращаете, прежде чем Вы попытаетесь работать с ним.

0
ответ дан 17 December 2019 в 07:09
поделиться

Необходимо использовать оператора импорта

import flash.external.*;
-1
ответ дан 17 December 2019 в 07:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: