ExternalInterface.call()没有获得返回值

Ada*_*son 6 javascript apache-flex flash actionscript-3

我有一个Javascript函数,它返回div的innerHTML.我试图从Actionscript调用此函数并存储返回值.我知道正在调用Javascript函数,因为有一个显示返回数据的警报,但返回到Actionscript的数据为null.我不确定是什么原因造成的.这是我尝试做的代码示例:

Javascript:
function JSFunc () {
     var x = document.getElementById("myDiv");
     alert(x.innerHTML);
     return x.innerHTML;
}

Actionscript:
import flash.external.*;
if (ExternalInterface.available) {
     var retData:Object = ExternalInterface.call("JSFunc");
     if(retData != null) {
          textField.text = retData.toString();
     } else {
          textField.text = "Returned Null";
     }
} else {
     textField.text = "External Interface not available";
}
Run Code Online (Sandbox Code Playgroud)

就像我之前说的那样,警报显示div的内容,但文本字段中的文本始终为"Returned Null",这意味着ExternalInterface可用.我应该补充一点,我只能在IE7和IE8中测试它.任何有关做什么的建议都将不胜感激.

Ada*_*son 2

我遇到的问题的根源在于我用来嵌入 Flash 影片的对象标签。我使用的标签遵循此示例http://www.w3schools.com/flash/flash_inhtml.asp,我将其更改为匹配此示例:http://kb.adobe.com/selfservice/viewContent.do ?externalId =tn_4150然后我确保将 id 添加到对象中并且一切正常。