ExternalInterface.call 不返回 IE 中的对象
ExternalInterface.call not returning object in IE
我在动作脚本中进行以下调用
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。我做错了什么还是这是一个错误?
我不确定您提供的那一行 AS3 代码是否就是您得到的全部,但如果是这样,您可以尝试以下操作:
private function sendToJS(e:MouseEvent):void {
if(ExternalInterface.available) {
ExternalInterface.call("fromAS", doSomethingHere);
}
}
我用过自己一次。
相关文章:
- 读取在具有IE的工作程序中生成的对象URL
- 对象不支持对象IE 8
- 追加子数据 URI,替换 IE 中的其他对象
- Javascript 错误:对象在 IE 浏览器中不支持此属性或方法
- IE错误:无法设置属性'的值;样式':对象为null或未定义
- IE-“;错误:对象没有'我不支持这一行动”;
- IE:无法获取属性'的值;clientWidth':对象为null或未定义
- 日期对象可以用于在IE 10中对数组进行排序吗
- Date对象在Chrome中有效,但在Safari、Firefox或IE中无效
- IE中对象上的Div覆盖
- IE 0.width为null或不是对象
- "对象没有't支持这种性质或方法“;在IE 8中.在调试中执行精细
- IE 对象预期映射 API v3 加载外部.js函数
- <对象>中的 SVG 不会显示在 IE 的 Angular 2 组件中
- TypeError:undefined 不是对象 - Safari 和 IE
- 无效的调用对象 IE 11 长度的 XML 数组 (getElementsByTagName)
- 'arrpf[i][1]'为空或不是对象IE 8
- 无效的调用对象IE
- 通过javascript从xml文件更新对象(IE问题)
- 如何解决错误:;undefined为null或不是extjs中的对象ie“;在IE中