js 获取浏览器高度和宽度值(多浏览…

本文介绍了在不同浏览器(如IE、Firefox、Opera等)中获取浏览器窗口尺寸的方法,包括高度、宽度及滚动条位置等关键信息,并提供了一段JavaScript代码来演示如何在多种浏览器环境下统一获取这些参数。

js <wbr>获取浏览器高度和宽度值(多浏览器)

IE中:
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度
FireFox中:
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度
Opera中:
document.body.clientWidth ==> 可见区域宽度
document.body.clientHeight ==> 可见区域高度
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
没有定义W3C的标准,则
IE为:
document.documentElement.clientWidth ==> 0
document.documentElement.clientHeight ==> 0
FireFox为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
Opera为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)


网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量
实现代码
复制代码 代码如下:
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>请调整浏览器窗口</title> <meta http-equiv="content-type" content="text/html; charset=gb2312">
</meta></head>
<body>
<h2 align="center">请调整浏览器窗口大小</h2><hr />
<form action="#" method="get" name="form1" id="form1">
<!--显示浏览器窗口的实际尺寸-->
浏览器窗口 的 实际高度: <input type="text" name="availHeight" size="4"/><br />
浏览器窗口 的 实际宽度: <input type="text" name="availWidth" size="4"/><br />
</form>
<script type="text/javascript">
<!--
var winWidth = 0;
var winHeight = 0;
function findDimensions() //函数:获取尺寸
{
//获取窗口宽度
if (windows.innerWidth)
winWidth = windows.innerWidth;
else if ((document.body) && (document.body.clientWidth))
winWidth = document.body.clientWidth;
//获取窗口高度
if (windows.innerHeight)
winHeight = windows.innerHeight;
else if ((document.body) && (document.body.clientHeight))
winHeight = document.body.clientHeight;
//通过深入Document内部对body进行检测,获取窗口大小
if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)
{
winHeight = document.documentElement.clientHeight;
winWidth = document.documentElement.clientWidth;
}
//结果输出至两个文本框
document.form1.availHeight.value= winHeight;
document.form1.availWidth.value= winWidth;
}
findDimensions();
//调用函数,获取数值
window.onresize=findDimensions;
//-->
</script>
</body>
</html>

详细出处参考:http://www.jb51.net/article/19844.htm
<think>首先,用户的问题是关于HTML中如何正确使用个 ` ` 字符。用户意图是了解在HTML或编程中正确使用个 ` ` 字符,特别是如何渲染个空格。 从系统级指令中,我需要: - 所有行内数学表达式使用 `$...$` 格式。 - 独立公式使用 `$$...$$` 格式并单独成段。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾添加引用标识。 - 回答结构清晰,帮助用户逐步解决问题。 - 参考提供的引用。 提供的引用: - 引用[1]:解释了HTML中的空格字符,如 ` `、` `、` `,以及它们的宽度适用场景。 - 引用[2]:展示了如何用JavaScript替换字符串中的空格为 ` `,以确保在浏览器中正确渲染个空格。 用户的问题: "请问HTML中如何正确使用个 字符" 我的回答需要: 1. 解释 ` ` 是什么。 2. 说明如何在HTML中使用个 ` `。 3. 提供代码示例。 4. 生成相关问题。 5. 在引用处添加引用标识。 结构化回答: - **引言**:简要介绍 ` ` 的作用。 - **详细解释**:解释如何正确使用个 ` `,包括在HTML代码中直接使用在编程中动态生成。 - **代码示例**:提供HTMLJavaScript代码示例。 - **引用**:在相关内容后添加引用标识。 - **总结**:简要总结。 - **相关问题**:生成相关问题。 确保使用中文。 关键点: - ` ` 是一个非间断空格,用于防止浏览器合并个空格。 - 在HTML中,直接写个 ` ` 如 `   ` 来创建个空格。 - 在编程中,如JavaScript,可以用正则表达式替换空格为 ` `。 代码示例参考引用[2]: - 使用 `replace` 方法替换空格。 数学表达式:用户问题中没有涉及数学,所以可能不需要数学表达式。但如果提到任何数学相关,要使用 `$...$` 或 `$$...$$`。这里可能不适用。 生成相关问题: - 基于主题,生成3-5个相关问题。 - 例如: 1. 如何在HTML中创建不同宽度的空格? 2. 在JavaScript中如何高效替换个空格? 3. ` ` 与其他空格字符的区别是什么? 4. 如何防止HTML中的空格被合并? 引用标识: - 当引用引用[1]或[2]时,在末尾添加 [^1] 或 [^2]。 回答结构: 1. **理解问题**:重述用户问题以确认。 2. **解释概念**:解释 ` ` 及其用途。 3. **使用方法**:分步骤说明如何使用个 ` `。 4. **代码示例**:提供HTMLJavaScript代码。 5. **总结**:简要回顾。 6. **相关问题**:列出相关问题。</think>### HTML中如何正确使用个 ` ` 字符 在HTML中,` `(Non-Breaking Space)是一种特殊的空格字符,用于防止浏览器自动合并连续的空格。它常用于保留文本中的个空格,例如在日期格式、代码注释或需要精确控制间距的场景中[^1]。正确使用个 ` ` 字符可以确保在浏览器中渲染出预期的个空格效果。下面我将逐步解释其使用方法,并提供代码示例。 #### 步骤1: 理解 ` ` 的基本作用 - ` ` 是一个HTML实体,表示一个不间断空格。 - 在HTML中,普通空格(如键盘空格键输入)会被浏览器自动合并为一个空格。例如,输入个连续空格只会显示一个空格。 - 使用个 ` ` 可以避免这种合并,每个 ` ` 渲染为一个固定宽度的空格(通常等同于一个中文字符宽度)[^1]。 - 适用场景: - 日期格式(如 `2023 年 10 月`)。 - 需要精确对齐的文本(如表格或代码)。 - 防止单词在换行时被分割(如 `Mr. Smith`)。 #### 步骤2: 在HTML中直接使用个 ` ` 在HTML代码中,您可以直接连续书写个 ` ` 实体来创建个空格。每个 ` ` 对应一个空格位置,浏览器会按原样渲染。 - **示例代码**: ```html <p>这是一个示例:单词之间   有三个空格。</p> ``` - **渲染效果**:在浏览器中显示为 "这是一个示例:单词之间 有三个空格。"(注意:这里有三个连续空格)。 - **注意点**: - 直接在HTML中写个 ` ` 是简单高效的方法,适用于静态内容。 - 如果空格数量较,可以使用循环或模板引擎动态生成(见步骤3)。 #### 步骤3: 在编程中动态生成个 ` `(例如JavaScript) 如果您需要从动态数据(如API响应或用户输入)中处理空格,可以使用编程语言(如JavaScript)将普通空格替换为 ` `。这确保渲染时个空格不被合并。 - **方法**:使用正则表达式结合 `replace` 函数,将字符串中的空格替换为 ` `。 - **示例代码(JavaScript)**: ```javascript // 原始字符串,包含个空格 let originalStr = "a b c"; // 注意:这里有两个空格三个空格 // 使用正则表达式替换所有空格为   let formattedStr = originalStr.replace(/ /g, " "); // 输出结果:a  b   c console.log(formattedStr); // 将处理后的字符串插入HTML document.getElementById("output").innerHTML = formattedStr; ``` - **解释**: - `replace(/ /g, " ")`:正则表达式 `/ /g` 匹配所有空格(`g` 表示全局匹配),并替换为 ` `。 - 在HTML元素中使用 `innerHTML` 渲染时,浏览器会正确显示个空格[^2]。 - **注意事项**: - 确保替换后字符串用于 `innerHTML` 而不是 `textContent`,否则 ` ` 会被当作普通文本显示。 - 在服务器端语言(如Python或PHP)中,类似的正则表达式方法也适用。 #### 步骤4: 其他空格字符的对比 除了 ` `,HTML还提供其他空格字符,适用于不同场景: - ` `(半角空格):宽度约为一个英文字符,适用于西文排版或代码注释[^1]。 - ` `(全角空格):宽度约为两个中文字符,适用于中文段落首行缩进[^1]。 - **示例**: ```html <p>中英文混合:Hello World(半角空格)<br>中文缩进: 首行缩进示例。</p> ``` #### 总结 正确使用个 ` ` 字符的关键是: - 在静态HTML中直接连续书写,如 `   `。 - 在动态内容中,使用编程语言(如JavaScript的 `replace` 方法)替换空格。 - 结合其他空格字符(如 ` ` 或 ` `)以满足不同排版需求[^1][^2]。 通过以上方法,您可以确保HTML页面正确渲染个空格,避免因浏览器默认行为导致的显示问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jarry.liu

如果对您有帮助,鼓励下博主吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值