SCRIPT5007:无法获取属性“SetReturnValue”的值:对象为空或未定义。

22

我的页面在所有其他浏览器中都能正常工作,但在IE中会出问题。调试器的错误信息如下:

SCRIPT5007:无法获取属性'SetReturnValue'的值:对象为null或未定义

当我点击flash对象中的按钮调用函数时,它就会发生。在IE中,flash文件中的所有按钮都无法正常工作,但在其他浏览器中都可以顺畅地工作。有人有任何想法吗?我已经搜索过了,从那里的答案中真的找不出来。

网址是http://capitolomaha.com/reservations/

非常感谢任何帮助,这让我非常困惑。


错误是从哪里来的?JavaScript、Flash、IE、WordPress?请更加具体一些。这个Flash文件是你自己创建的吗? - laurent
15
我有一个在其他所有浏览器上都能正常工作但在IE上会出问题的页面——我说了这句话多少次了... - Maurice Flanagan
1
你是否正在使用FusionCharts或类似的第三方库?我在使用FusionCharts时也遇到了同样的问题。 - Dattatray Walunj
6个回答

6
请参考http://msdn.microsoft.com/en-us/library/gg622942%28v=VS.85%29.aspx。 简单来说,如果您的flash组件是通过一个object标签嵌入到网页中,并且同时有一个embed标签作为备选方案,而且这两个标签的id和name属性都相同,那么IE9会破坏flash ExternalInterface调用。 最简单的解决方法是告诉IE9以IE8标准模式渲染您的页面。在元素中插入以下内容即可:
<!-- Enable IE8 Standards mode -->
<meta http-equiv="X-UA-Compatible" content="IE=8" >

否则,您可能只想使用 object 标签或 embed 标签。

15
我知道这有点过时了,但是建议让IE9以IE8的方式呈现会自动降低推荐的投票。改正对象代码即可。 - LocalPCGuy

4

很多时候,这可能是由于嵌入的对象swf视频播放器(例如:JW Player等)引起的。

Internet Explorer似乎需要OBJECT标签的两个属性,即classidid

对于SWF播放器,请使用:

classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"

id="dummy"

NB - 原则上,id可以是任意(未被占用的)虚拟字符串。

关于如何嵌入视频的其他好资源:

http://www.w3schools.com/html/html_object.asp

http://www.2webvideo.com/blog/embed-swf-flv-mp4-videos-in-webpage


可能已经晚了几年,但当前版本的JWPlayer没有嵌入标签(embed tag),而是在对象标签(object tag)上具有classID和ID值。然而,在IE9中,JWPlayer6.11仍然会在某个时刻(似乎是“remove()”例程期间)抛出此错误。我不知道是怪IE还是JWPlayer,但我需要能够指责某个人。(-; - hairbo

1

我曾经遇到过同样的问题,但是通过改变引入 Flash 的方式,我已经解决了它。首先,我

<object>
<embed></embed></object>
</object>

然后我转移到:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
        <param name="movie" value="myContent.swf" />
        <!--[if !IE]>-->
        <object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
        <!--<![endif]-->
          <p>Alternative content</p>
        <!--[if !IE]>-->
        </object>
        <!--<![endif]-->
      </object>

而且最后一个也能运行。


1

尝试像下面这样验证元素是否为空:

if(element == null)return false

1

请确保您指定了id标签(它必须具有与name标签相同的值)。 尽管Adobe writes表示id是可选标签,但Internet Explorer需要该id来使用javascript-flash接口处理swf对象。


0

当您在Flash中单击按钮时,会出现JavaScript错误。该按钮调用JavaScript函数以显示预订来源,以预订特定桌子。这让我非常沮丧。

此问题仅在IE中发生,其他浏览器没有问题,但在调试时,据我所知,是JavaScript错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接