JS检测浏览器的宽度和高度在Chrome浏览器和Safari浏览器,但不是IE9或FF9
是否有任何理由为什么此代码可以在Safari和Chrome,但不IE或FF?JS检测浏览器的宽度和高度在Chrome浏览器和Safari浏览器,但不是IE9或FF9
JS
function load(){
w.value = window.outerWidth;
h.value = window.outerHeight;
}
HTML
<input name="h" id="h" type="hidden" value="" />
<input name="w" id="w" type="hidden" value="" />
Click here for the entire page's source code
预先感谢帮助。
编辑:我想出了什么是错的。必须将以下内容添加到加载功能
var width = document.getElementById("w");
var height = document.getElementById("h");
width.value = window.outerWidth;
height.value = window.outerHeight;
Internet Explorer使用不同的属性来存储窗口大小。进入Internet Explorer客户端宽度/高度是内部窗口大小(减去滚动条,菜单等使用的像素)所以请尝试
function load(){
if(window.outerHeight){
w.value = window.outerWidth;
h.value = window.outerHeight;
}
else {
w.value = document.body.clientWidth;
h.value = document.body.clientHeight;
}
}
你不妨使用jQuery的'.width()'/'.height()',这里使用的代码和你一样已经包括与jQuery。 – Jasper 2012-02-07 20:10:41
如果你正在使用jQuery的话,我建议使用.width()
和.height()
,因为他们将正常运行跨浏览器。 IE 8及以下版本不支持window.outerWidth
。
下面是window.outerWidth
一些很好的文档:https://developer.mozilla.org/en/DOM/window.outerWidth
使用.width()
和.height()
将返回一个单位的数值(即像素),如果你想获得精确的高度/宽度套(含px
或em
),那么你可以使用.css('width')
和.css('height')
。
有什么不适合呢?它在做什么,它没有做什么,发生了什么错误等等。 – 2012-02-07 19:50:39