0

在 IE 中有一个相当奇怪的问题。当我启动 IE 并加载页面(从本地域,我们称之为“ http://amazing.dev/ ”)时,站点上的 JavaScript 不会运行。

我知道你在想什么,打开你的 JS(http://goo.gl/FnzoW)。它打开了,我知道它打开的原因是当我启动开发人员工具并重新加载页面时,JS 会运行。

这个站点中有很多 JS,所以它可以是任何东西。但是没有错误,没有警告,什么都没有。重新加载时,完美运行!

这方面的任何想法/经验都会有很大帮助!它可能只是我的机器!

4

2 回答 2

2

如果问题仅在您不启动开发人员工具时出现,则可能是对console.log代码中某处的调用。在您打开这些工具之前,控制台不可用。

您可以使用此代码(我不是作者)来防止崩溃:

if (!window.console) {
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
    "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
    window.console = {};
    for (var i = 0; i < names.length; ++i) {
        window.console[names[i]] = function() {};
    }
};
于 2013-03-27T16:38:07.907 回答
1

问题是当调试器未打开时,在 IE 上没有控制台对象。这就是为什么打开调试器后一切正常。

只需将其添加到页面的开头,它可能会起作用。

if (typeof console == "undefined") {
    this.console = {log: function() {}};
}
于 2013-03-27T16:43:02.720 回答