是什么激发了对象标签的onerror事件处理程序?

时间:2011-07-29 20:39:37

标签: javascript flash internet-explorer object onerror

我们一直在对一些嵌入式Flash小部件进行一些测试。

虽然我知道 onerror事件,但当附加到对象标记时,对浏览器不友好,我们会为Internet Explorer用户调用此处理程序

虽然我非常确定在无法加载swf时会调用此处理程序(如404,410,网络错误等),是否在任何其他情况下调用?

由于这些小部件不是我们自己的,是否有可能从嵌入式Flash文件中“抛出”一个onerror事件?如果是这样,这可能就是我们看到这一点的原因。

我想我也应该把它放进去,是否有可能获得有关在调用onerror事件时调用它的原因的任何其他信息?

总结一下,我们正在寻找的是知道天气可以安全地假设如果一个onerror事件是从一个对象标签触发的,那是因为swf没有成功加载而被触发,因此我们可以尝试从另一个网址加载它。是的,我们只是不想尝试重新加载swf,如果onerror因某些其他原因被解雇,那么swf无法加载。

一些其他信息:

我们正在使用嵌入闪光灯的flash satay方法。并简单地将onerror添加到object标签,如下所示:

<object .... onerror="ourAjaxLogFunction()">
一如既往,谢天谢地。

1 个答案:

答案 0 :(得分:2)

onerror documentation说(强调我的):

  

要调用,会导致出现以下错误之一:

     
      
  • 运行时脚本错误,例如无效的对象引用或   安全违规

  •   
  • 下载对象(例如图像)时出错。

  •   
  • Internet Explorer 9的新增功能。发生错误   在获取媒体数据时。

  •   

也许您的Flash内容正在尝试跨越某种安全边界。如果是这种情况,尝试从其他来源重新加载它将无济于事。我建议您对传递给处理程序的错误消息进行进一步调查。