javascript - 闪存和 IE : “Object doesn’ t support this property or method” error (using ExternalInterface)

标签 javascript actionscript-3 actionscript

在我的 actionscript 文件中我有:

ExternalInterface.addCallback("loadHotspotsXMLCallback", hotspotsXMLCallback);

在 html 中我有:

<embed width="100%" height="100%" align="middle" type="application/x-shockwave-flash" salign="" allowscriptaccess="sameDomain" allowfullscreen="false" menu="false" name="FloorplanViewer" bgcolor="#FFFFFF" id="FloorplanViewer" devicefont="false" wmode="transparent" scale="showall" loop="false" play="true" pluginspage="http://www.adobe.com/go/getflashplayer" quality="high" flashvars="..." src="swf/FloorplanViewer_V110228b.swf">

在 JS 中我有:

$("FloorplanViewer")["loadHotspotsXMLCallback"](response.responseText);

我也试过:

window["loadHotspotsXMLCallback"](response.responseText)

document["loadHotspotsXMLCallback"](response.responseText)

但是 JS 在 IE 中有 DNW 部分,在 FF 和 GC 中也是如此。 有人知道为什么吗?

I've read this documentation on using ExternalInterface ,虽然我的问题出现在 IE8 上,但我尝试了那里提到的以下建议的 IE7 解决方案:

  • 确保添加的外部回调名称与上面的 actionscript 代码的内部回调名称不同。
  • 将添加回调的代码延迟 500 毫秒

但是这些改变没有效果。

最佳答案

我建议从我的文章 http://work.arounds.org/issue/10/calling-flash-functions-from-javascript/ 中尽可能简单地尝试它

<object id="flash" data="file.swf" width="420" height="300"></object>
<script>
      onload = function() {
          var flash = document.getElementById('flash');
          flash.NextFrame();
      }
</script>

首先尝试将您的 embed 转换为 object,然后在窗口加载后通过 ID 简单地获取元素。还可以尝试 alert( 'functionName' in flash ); 以确保该方法存在。

关于javascript - 闪存和 IE : “Object doesn’ t support this property or method” error (using ExternalInterface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5149527/

相关文章:

javascript - 如何使用window.location.href.replace在href url中切换语言?

javascript - 日期选择器更改事件抛出 "TypeError: string is not a function"

javascript - 在javascript中将图像转换为二进制数据

javascript - 无法在 javascript slider 中添加指向图像的单独链接

actionscript - 事件监听器调用了错误的函数

apache-flex - 用简单的英语解析持续时间

actionscript-3 - ActionScript 3 缩放和滚动问题

sqlite - 如何在移动应用程序的SQLite中的同一数据库中创建多个表?

javascript - 图像从 AS3 到 Javascript,然后到 Facebook

flash - AS2:设置新属性时的调用方法