Javascript 对象没有';不支持此属性或方法。为什么?
如果在IE8或更低版本上运行此代码,则会出现以下错误:Javascript 对象没有';不支持此属性或方法。为什么?,javascript,internet-explorer,Javascript,Internet Explorer,如果在IE8或更低版本上运行此代码,则会出现以下错误:对象不支持此属性或方法 var hasFlash = ((typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") || (window.ActiveXObject && (new ActiveXObject("ShockwaveFlash.ShockwaveFlash"
对象不支持此属性或方法
var hasFlash = ((typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") || (window.ActiveXObject && (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) != false));
可能是
new-ActiveXObject
部分失败,因为ActiveXObject
不是new
运算符可以应用的任何内容,或者“shockwavelash.shockwavelash”不是有效输入,因此会引发异常
但是,您可以轻松地重写代码以解决该问题:
var hasFlash = (function() {
if (typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") {
return true;
} else if (typeof window.ActiveXObject != "undefined") {
try {
new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
return true;
} catch (e) { }
}
return false;
})();
您是否尝试对其进行分解并查看问题的确切位置?调试器不会写入任何其他内容,仅此错误尝试插入一些换行符以查找导致问题的部分…如果当前安全区域中允许签名ActiveX控件,请检查安全设置。