jQuery 中 $(window).height() 获取窗口高度在 Opera 9.60 以上的版本中是错误的,jQuery bug tracker 中有人提交这个问题两个月也没见修复,只好自己修复一下咯….
最简单的办法就是把
jQuery.browser.opera && document.body[ "client" + name ] ||
改成
jQuery.browser.opera && document.body[ "inner" + name ] ||
不过考虑兼容性还是改成了
jQuery.browser.opera && (jQuery.browser.version >= 9.6 && document.body[ "inner" + name ] || jQuery.browser.version < 9.6 && document.body[ "client" + name ]) ||
其实这样也未必能够保证在 Opera 所有的版本下都正确,至少看起来应该是可以解决问题地
这个 bug 已经在最近的某个 JQuery 版本中被修复了,请查验。
这个问题最早发现是1.2.6,现在已经是1.3.1了,想来不应该再有了吧
不过因为忙于其他项目(使用mootools),所以一直没有用新版的jQuery