Javascript document.documentElement.offsetHeight抛出未定义错误 短版

Javascript document.documentElement.offsetHeight抛出未定义错误 短版,javascript,internet-explorer,mobile,cross-browser,Javascript,Internet Explorer,Mobile,Cross Browser,试图访问IEMobile 7.11上的document.documentElement.offsetHeight时抛出一个未指定的错误。为什么? 长版本 我正在修复一些要在手持设备上运行的Javascript(不是送货员使用的那种电话)。不过,这些设备有一些不同的操作系统和浏览器版本,因此兼容性是一个问题 问题代码在body元素的onLoad和onResize事件期间调用的方法中。我可以使用document.documentElement.offsetHeight属性在一台设备上修复该问题,但当

试图访问IEMobile 7.11上的document.documentElement.offsetHeight时抛出一个未指定的错误。为什么?

长版本 我正在修复一些要在手持设备上运行的Javascript(不是送货员使用的那种电话)。不过,这些设备有一些不同的操作系统和浏览器版本,因此兼容性是一个问题

问题代码在body元素的onLoad和onResize事件期间调用的方法中。我可以使用document.documentElement.offsetHeight属性在一台设备上修复该问题,但当我尝试在另一台设备上使用它时,会出现错误

现在,我希望必须进行各种奇怪的兼容性检查,但是这个特殊的错误很有趣,因为我不知道为什么会发生。以下所有情况都会导致错误:

var str = document.documentElement.offsetHeight
var str = String(document.documentElement.offsetHeight)
alert(document.documentElement.offsetHeight)
因此,简单地尝试访问属性就会抛出错误。我检查了documentElement对象是否存在,它确实存在,因此它不是在null上调用属性的情况。我认为这可能是因为没有定义offsetHeight,即使它应该只返回null,所以我使用以下循环检查documentElement的属性以确保:

var str = "";
for (var prop in document.documentElement) {
    str += prop + "\n";
}
但是offsetHeight属性肯定存在于对象上,尽管我不知道它有什么价值

我试着捕捉错误,但没有给我任何帮助;error.description和error.message都是空的,所以我查找了错误号(-2147467259),发现它的意思是“未指定的错误”,是“你自己”的缩写

就我个人所知,这个错误是完全无法解释的。所以我来这里寻求智慧

杂项信息
  • 操作系统:Windows Mobile 6.1 Professional
  • 浏览器:IEMobile 7.11

在这个:
document.documentElement.style
中,您正在通过
style
进行循环。不是
documentElement
。哦,对不起,我从修改过的代码中复制粘贴了它,我用它来循环几个不同的东西。我会更新的。@apandit:我不知道你想说什么。我来这里之前查看了w3schools页面,但它与我的情况没有任何关系。@Reikim抱歉……我以为你在做其他事情。加载文档后,是否调用了向您提供错误信息的代码行?