Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象没有';不支持此属性或方法。为什么?_Javascript_Internet Explorer - Fatal编程技术网

Javascript 对象没有';不支持此属性或方法。为什么?

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"

如果在IE8或更低版本上运行此代码,则会出现以下错误:
对象不支持此属性或方法

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控件,请检查安全设置。