В любом месте вашего блока скриптов после первоначального присвоения lookatthis вы можете записать значение в консоль с помощью команды:
console.log (lookatthis);
Источник проблемы, которую я имел, должен сделать тег object, который я использовал для встраивания фильма флэш-памяти. Я использовал тег, который последовал этому примеру http://www.w3schools.com/flash/flash_inhtml.asp, я изменил его для соответствия этому примеру: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_4150 и затем я удостоверился, что добавил идентификатор к объекту, и все работало.
Это - рабочий образец на основе кода, который Вы предоставили. Можно щелкнуть правой кнопкой по нему для просмотра источника. Я подозреваю, что проблема заключается в HTML для 'myDiv' или когда Вы выполняете actionscript вызов.
Попытайтесь добавить as String
к вызову:
textField.text = ExternalInterface.call("JSFunc") as String;
Я также заметил, что Вы получили опечатку в своем коде => текстовое поле! = текстовое поле
Мне кажется, что Ваша проблема состоит в том, что из 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");
Надежда это было полезно, заботятся.
Попытайтесь вернуть объект от своего внешнего интерфейсного вызова, не бросая его сначала и смотреть на него в отладчике. Если это не будет строка, то пытаться бросить его к строке приведет к пустому указателю. Это должно быть строкой, но не повреждает видеть то, что Вы на самом деле возвращаете, прежде чем Вы попытаетесь работать с ним.
Необходимо использовать оператора импорта
import flash.external.*;