js获得浏览器宽高,奇怪的问题

PlayerYK 2008-11-24 04:58:44
先看代码

function GetInfo()
{
var s = "";
s += "\r\n网页可见区域宽:"+ document.body.clientWidth;
s += "\r\n网页可见区域高:"+ document.body.clientHeight;
s += "\r\n网页可见区域宽:"+ document.body.offsetWidth + " (包括边线和滚动条的宽)";
s += "\r\n网页可见区域高:"+ document.body.offsetHeight + " (包括边线的宽)";
s += "\r\n网页正文全文宽:"+ document.body.scrollWidth;
s += "\r\n网页正文全文高:"+ document.body.scrollHeight;
s += "\r\n网页被卷去的高(ff):"+ document.body.scrollTop;
s += "\r\n网页被卷去的高(ie):"+ document.documentElement.scrollTop;
s += "\r\n网页被卷去的左:"+ document.body.scrollLeft;
s += "\r\n网页正文部分上:"+ window.screenTop;
s += "\r\n网页正文部分左:"+ window.screenLeft;
s += "\r\n屏幕分辨率的高:"+ window.screen.height;
s += "\r\n屏幕分辨率的宽:"+ window.screen.width;
s += "\r\n屏幕可用工作区高度:"+ window.screen.availHeight;
s += "\r\n屏幕可用工作区宽度:"+ window.screen.availWidth;
s += "\r\n你的屏幕设置是 "+ window.screen.colorDepth +" 位彩色";
s += "\r\n你的屏幕设置 "+ window.screen.deviceXDPI +" 像素/英寸";
alert (s);
}

全屏下得到的数据

我把浏览器缩小得到的数据

大了500像素,这是为什么啊?
...全文
552 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
cmz6688 2010-08-24
  • 打赏
  • 举报
回复
不兼容!
不悲不喜 2008-12-01
  • 打赏
  • 举报
回复
HOHO.
你的问题能解决是最重要的.
不过你给的分很奇怪呀.
74.
你想气死我呀......
PlayerYK 2008-12-01
  • 打赏
  • 举报
回复
谢谢各位帮助,特别是 syukugai
最近每天都加班,所以结贴比较晚
PlayerYK 2008-12-01
  • 打赏
  • 举报
回复
我……给他们一人一分,,,cyqlightrain 20分 剩下的都给你了
这,,74,也太巧了
不悲不喜 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 o_oak 的回复:]
引用 6 楼 syukugai 的回复:
把 div 设置成相对宽度.
或者设置成绝对宽度,在画面的onresize事件中改变它的宽度.


我懂你说的意思了,可是我是新手,这个onresize事件该怎么写啊?
window.onresize(function(){...}

怎么提示:对象不支持此属性或方法……
[/Quote]

以下几种方法
(1)写在body中,
<body onresize=".....">

(2)使用匿名函数
window.onresize=function(){
......
}
(3)函数赋值
function resizeDiv(){
}

window.onresize =resizeDiv;

常用的以上几种。
cyqlightrain 2008-11-25
  • 打赏
  • 举报
回复

window.onresize = function resizepage(){
//do some thing...
}
PlayerYK 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 syukugai 的回复:]
把 div 设置成相对宽度.
或者设置成绝对宽度,在画面的onresize事件中改变它的宽度.
[/Quote]

我懂你说的意思了,可是我是新手,这个onresize事件该怎么写啊?
window.onresize(function(){...}

怎么提示:对象不支持此属性或方法……
PlayerYK 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 syukugai 的回复:]
把 div 设置成相对宽度.
或者设置成绝对宽度,在画面的onresize事件中改变它的宽度.
[/Quote]

我懂你说的意思了,可是我是新手,这个onresize事件该怎么写啊?
window.onresize(function(){...}

怎么提示:对象不支持此属性或方法……
不悲不喜 2008-11-25
  • 打赏
  • 举报
回复
把 div 设置成相对宽度.
或者设置成绝对宽度,在画面的onresize事件中改变它的宽度.
PlayerYK 2008-11-25
  • 打赏
  • 举报
回复
问题找到了
我的布局:上面一个层宽度100%
下面两个层,左侧宽度固定
浏览器宽度变小时,右侧div浮动被挤到左侧div下面了;
所以整个高度增加了;

现在我想窗口改变就自动改变下面两个div的高度,和右侧div的宽度,该怎么写JS呢?

Joson.e8love 2008-11-25
  • 打赏
  • 举报
回复
0
不悲不喜 2008-11-24
  • 打赏
  • 举报
回复
怎么和我测试的结果不一样呢!
ocean_958 2008-11-24
  • 打赏
  • 举报
回复
读的是当前浏览器的宽度吧
阿云ivan 2008-11-24
  • 打赏
  • 举报
回复
非全屏下,菜单、工具栏等都占了一些高度
cloudgamer 2008-11-24
  • 打赏
  • 举报
回复
是不是有些换行
所以撑大啦
[说明] 本人在原作者文件的基础上增加了一个1440*900分辨率的文件,XP下可以正常运行。在XP桌面空白处右击鼠标点“属性”——桌面——浏览——选择x:\desktop_ibm_worldmap_full\desktop_ibm_worldmap\1440x900_Asia_lightcolor.html即可,24时区全景显示,带农历日期及太阳方位 1. 如何添加新的城市 首先供用户自定义的参数分布在两个文件中,一个是opt/config.js,另一个是相应 的html文件。其中在各个html文件中主要设置的是与背景地图相关的一些参数,如尺寸、 颜色、城市坐标等,这些参数是根据地图的不同而不同的;而在opt/config.js中的参数 适用于所有的地图。 所以要添加新城市有两步: i) 在相应的html文件中添加:坐标,城市名,是否显示,是否显示天气, 是否强制 左侧显示 ii) 在opt/config.js的new City添加:城市名,时区,夏时制,天气来源ID 如果仅在html中添加,则可显示城市名,但无法显示时间、天气。 2. 如何获得城市在地图上的坐标 可以使用压缩包中的小工具getCityCoord.html获得城市在地图上的坐标, 用浏览器 打开getCityCoord.html, 选择地图之后只需在地图上点击城市的位置即可. 3. 关于各个信息来源的选择 i) 天气信息 天气信息中YAHOO的最全面,更新最及时,可以获得实时的天气信息;CN_YAHOO也很 全面,但这些天更新严重不及时,很奇怪,很可惜;SINA的天气信息一般全面,更新 还是比较及时的.这三者中,教育网内YAHOO需要代理,CN_YAHOO和SINA不需要代理 ii) 各种财经信息 YAHOO和CN_YAHOO都很好,更新都非常及时,前者需要代理,后者不需要. 因此,如果能稳定较快地连接YAHOO的话, 建议全部使用YAHOO最为信息来源 如果在教育网内找不到合适的代理,建议天气信息采用SINA,财经信息采用CN_YAHOO 4. !!!关于一些关键的参数!!! 涉及到连接网页的参数(如天气ID)是非常重要的,一定要到网站上验证.因为用简单的 脚本代码作动态桌面,连接外部网页的功能比较弱,如果所访问的网页不存在,会出现桌面 假死的情况. 只要这些关键参数设置正确就没有问题. 5. 有其他的问题和建议欢迎给thuxlhuang@163.com或starbright@smth发信, 谢谢.

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧