gpt4 book ai didi

javascript - IE8 上的 JavaScript 对象不支持此属性或方法

转载 作者:行者123 更新时间:2023-11-28 08:16:20 24 4
gpt4 key购买 nike

我正在开发一个必须与 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 只是没有像往常一样正常运行?

最佳答案

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

这个变量检查​​似乎是问题所在,所以我开始在代码中的不同位置添加警报,以查看它走了多远,可惜:错误发生在完全不同的行上。

看来我还有剩下的

console.dir("<snip>")

在 JavaScript 中调用,看起来 IE8 不支持 console.dir() 调用,但是如果满足以下条件,仍然支持 console.log() 调用开发者工具已开放(感谢@Reinder Wit)。我删除了这条线,它又起作用了。

如果您遇到这样的错误,请在代码的各个行中发出一些警报,并查看代码在崩溃之前会进行到什么程度。 IE8 中的 JavaScript 错误日志控制台似乎不知道代码中发生错误的正确部分。

关于javascript - IE8 上的 JavaScript 对象不支持此属性或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23559707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com