【问题标题】:Object doesn't support this property or method in JavaScript on IE8对象在 IE8 上的 JavaScript 中不支持此属性或方法
【发布时间】:2014-05-09 17:42:36
【问题描述】:

我正在开发一个必须与 IE8 兼容的 ASP.NET 应用程序。在所有其他浏览器中它工作得很好,但在 IE8 中它给了我错误

Object doesn't support this property or method

然后崩溃。我在互联网上进行了一些搜索,并找到了类似这样的问题的解决方案(如this onethis one),但这些解决方案都没有改变我的情况。错误发生在谷歌地图初始化的initialize 回调方法中(这应该没有什么区别,因为错误似乎发生在变量定义行上),代码如下:

function initialize(sender, isFrontPageInitialLoadParam) {
    if (isFrontPageInitialLoadParam !== false) {
        isFrontPageInitialLoad = true;
        mapCompletelyLoaded = false;
    } else {
        isFrontPageInitialLoad = false;
    }

(功能当然继续,但是这段代码出现了错误。)

此代码的生产(缩小)版本如下:

function initialize(n, t) {
    var i, r;
    t !== !1 ? (isFrontPageInitialLoad = !0, mapCompletelyLoaded = !1) : isFrontPageInitialLoad = !1,

错误发生在t !== !1,相当于if (isFrontPageInitialLoadParam !== false)

从这个错误的其他解决方案来看,似乎该错误通常是由于隐式声明的全局变量而发生的,但我认为这不是我的问题(isFrontPageInitialLoadmapCompletelyLoaded 是声明的变量在全球范围内)。

是我遗漏了一些明显的东西,还是 IE8 没有像往常一样玩得很好?

【问题讨论】:

    标签: javascript html internet-explorer internet-explorer-8


    【解决方案1】:

    所以我在朋友的帮助下解决了这个问题。

    这个变量检查​​似乎不是问题,所以我开始在代码中的不同位置将警报放在我的代码中,以查看它有多远,唉:错误发生在完全不同的行.

    看来我还有剩余

    console.dir("<snip>")
    

    在 JavaScript 中调用,看起来 IE8 不支持 console.dir() 调用,但如果开发者工具打开,console.log() 调用仍然支持(感谢@Reinder Wit)。我删除了这条线,它再次工作。

    如果您遇到这样的错误,请在代码的不同行中添加一些警报,并查看代码在崩溃前的运行速度。似乎 IE8 中的 JavaScript 错误日志控制台不知道代码中发生错误的正确部分。

    【讨论】:

    • IE8 确实支持控制台日志记录,只是不支持您的“console.dir()”。此外,如果控制台在 IE8 中未激活,您将收到一个 javascript 错误...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多