Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExternalInterface.call在IE中不返回对象_Javascript_Actionscript 3 - Fatal编程技术网

Javascript ExternalInterface.call在IE中不返回对象

Javascript ExternalInterface.call在IE中不返回对象,javascript,actionscript-3,Javascript,Actionscript 3,我在actionscript中进行以下调用 var data:Object = ExternalInterface.call("getData"); trace("data is", data); // data is null in IE7-9, but works in FF 在javascript中调用以下函数 function getData() { var data = {example : "data"}; console.log("data", data); /

我在actionscript中进行以下调用

var data:Object = ExternalInterface.call("getData");
trace("data is", data);  // data is null in IE7-9, but works in FF
在javascript中调用以下函数

function getData() {
    var data = {example : "data"};
    console.log("data", data); //displays as expected in the console
    return data;
}
将swfObject2与以下代码一起用于嵌入,从我现有的代码中复制了这一点,并对其进行了一些清理,尽管下面有一些未定义的变量:

var This                = this,
    divId               = "myDiv",
    widgetData          = serviceData.flashvars,
    swfURL              = "http://mysite.com/my.swf",
    flashvars           = widgetData,  //external object, not used in this case
    params              = {
        movie: serviceData.swfURL,
        pluginspage: "http://www.adobe.com/go/getflashplayer",
        align: "middle",
        allowScriptAccess: "always",
        quality: "high",
        allowFullScreen: "true",
        wmode: "transparent",
        bgcolor: "#FFFFFF",
        menu: "false"
    },
    expressInstallURL   = "http://mysite.com/expressInstall2.swf?2",
    attributes          = {id : divId + "_mySWF", name: divId + "_mySWF"},
    callback            = function (e) {
        console.log("player loaded");
    };
flashVideoPlayer = swfobject.embedSWF(swfURL, divId, widgetData.width, widgetData.height, "10", expressInstallURL, flashvars, params, attributes, callback);
所有的常用代码都包含在html中,比如ID、allowscriptaccess,我不在表单标记中。据我所知,没有初始化问题,因为javascript在getData中显示数据,因此函数在调用之前必须存在,等等。问题似乎是javascript将对象返回flash

似乎也没有帮助,但我的情况有点不同,因为我使用的是swfObject。
我是做错了什么还是这是一个bug?

我不确定您提供的那一行AS3代码是否就是您的全部,但如果是这样,您可以尝试以下方法:

private function sendToJS(e:MouseEvent):void {  
    if(ExternalInterface.available) {  
        ExternalInterface.call("fromAS", doSomethingHere);  
    }  
}

我曾经用过一次。

我不确定您提供的那一行AS3代码是否就是您的全部,但如果是这样,您可以尝试以下方法:

private function sendToJS(e:MouseEvent):void {  
    if(ExternalInterface.available) {  
        ExternalInterface.call("fromAS", doSomethingHere);  
    }  
}

我曾经用过一次。

+1为可爱的墓地医生。。!我在IE-7 Win浏览器中尝试了同样的方法,但它似乎在工作。唯一可能出现故障的地方是IE无法识别console中的console。logdata,data+1个给可爱的墓地医生。。!我在IE-7 Win浏览器中尝试了同样的方法,但它似乎在工作。唯一可能出现故障的地方是IE无法识别console中的console。logdata,data;