我希望根据窗口大小设置DIV的高度,但是$(window).height()
在IE10中返回0
,它在IE8和IE9中工作正常。为什么呢?
我也写了doctype语句如下
<!--[if IE]>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">`
<![endif]-->
如果我删除“<!--[if IE]>
”和“<![endif]-->
”,那么它可以正常工作。为什么?请解释。
答案 0 :(得分:1)
正如Irvin Dominin所说,jQuery的$(窗口).height()对doctype很敏感。由于不支持Internet Explorer 10条件注释,并且当浏览器不是IE时您没有doctype - jQuery的$(窗口).height()会中断。
答案 1 :(得分:1)
如果您删除"<!--[if IE]>" and "<![endif]-->"
,它会工作,因为您提到if / else for IE然后其他浏览器无法检测到优雅需要的DOCTYPE,因为$(window).height()
将无效。如果没有定义doctype。所以请为所有浏览器添加DOCTYPE,问题可以解决