Internet Explorer 中的“对象不支持此属性或方法”

“Object doesn't support this property or method” in Internet Explorer

本文关键字:属性 方法 不支持 Explorer 中的 对象 Internet      更新时间:2023-09-26

>有没有人知道为什么我收到错误消息"对象不支持此属性或方法" - 这会阻止我的网站在 IE6,7,8 中工作 - 它可以在所有其他浏览器中工作!!我认为有问题的代码是:

 <script language="javascript">
 function getFlashMovie(movieName) {
 var isIE = navigator.appName.indexOf("Microsoft") != -1;
 return (isIE) ? window[movieName] : document[movieName];
}
 function stopFlash(){
    getFlashMovie("blank1").commandFlash();
    getFlashMovie("blank2").commandFlash();
    getFlashMovie("blank3").commandFlash();

}

<div id="navigation">
<a href="#" name="btn" onClick="stopFlash()"><div id="slideshow-previous"></div></a>
<a href="#" name="btn" onClick="stopFlash()"><div id="slideshow-next"></div></a>
<div id="slideshow-counter"></div>
<a href="#" name="btn" onClick="stopFlash()"><div id="slideshow-first"></div></a>
<div id="slideshow-first-tint"></div>
</div>

<script language="javascript">
if (AC_FL_RunContent == 0) {
    alert("This page requires AC_RunActiveContent.js.");
            } else {
    AC_FL_RunContent(
        'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
        'width', '747',
        'height', '420',
        'src', 'blank1',
        'quality', 'high',
        'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
        'align', 'middle',
        'play', 'false',
        'loop', 'true',
        'scale', 'showall',
        'wmode', 'opaque',
        'devicefont', 'false',
        'id', 'blank1',
        'bgcolor', '#ffffff',
        'name', 'blank1',
        'menu', 'true',
        'allowFullScreen', 'false',
        'allowScriptAccess','sameDomain',
        'movie', 'blank1',
        'salign', ''
        ); //end AC code
}
</script>
<noscript>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"     codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="747"     height="420" id="blank1" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="blank1.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="blank1.swf" quality="high" bgcolor="#ffffff" width="747" height="420" name="blank1" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

感谢您的任何反馈!

没有元素

idnameblank1blank2blank3..?

编辑:此功能:

 function getFlashMovie(movieName) {
 var isIE = navigator.appName.indexOf("Microsoft") != -1;
 return (isIE) ? window[movieName] : document[movieName];
}

真的过时了,IMO 并且依赖于一些怪癖模式行为,其中页面的 ID/名称使其成为window的属性。我建议将其更改为:

function getFlashMovie(id) {
   return document.getElementById(id);
}

这应该返回正确的元素/引用。