JS获取各种浏览器窗口的大小

在网上找了差不多一下午的时间,终于找到了一个可以获取IE8窗口大小的文档了

http://wenku.baidu.com/view/5d6f7835b90d6c85ec3ac686.html

JS获取各种浏览器窗口的大小 

  
2008-06-21 19:03:44  来源:网页教学网  关于获取各种浏览器可见窗口大小的一点点研究 <script> function getInfo() 

   var s = ""; 
   s += " 网页可见区域宽:"+ document.body.clientWidth; 
   s += " 网页可见区域高:"+ document.body.clientHeight; 
   s += " 网页可见区域宽:"+ document.body.offsetWidth + " (包括边线和滚动条的宽)";    s += " 网页可见区域高:"+ document.body.offsetHeight + " (包括边线的宽)";    s += " 网页正文全文宽:"+ document.body.scrollWidth;    s += " 网页正文全文高:"+ document.body.scrollHeight;    s += " 网页被卷去的高(ff):"+ document.body.scrollTop; 
   s += " 网页被卷去的高(ie):"+ document.documentElement.scrollTop;    s += " 网页被卷去的左:"+ document.body.scrollLeft;    s += " 网页正文部分上:"+ window.screenTop;    s += " 网页正文部分左:"+ window.screenLeft;    s += " 屏幕分辨率的高:"+ window.screen.height;    s += " 屏幕分辨率的宽:"+ window.screen.width; 
   s += " 屏幕可用工作区高度:"+ window.screen.availHeight;    s += " 屏幕可用工作区宽度:"+ window.screen.availWidth; 
   s += " 
你的屏幕设置是 "+ window.screen.colorDepth +" 位彩色"; 
   s += " 你的屏幕设置 "+ window.screen.deviceXDPI +" 像素/英寸";    //alert (s); } 
getInfo(); </script> 
在我本地测试当中: 
在IE、FireFox、Opera下都可以使用 document.body.clientWidth document.body.clientHeight即可获得,很简单,很方便。 而在公司项目当中: Opera仍然使用 
document.body.clientWidth document.body.clientHeight 可是IE和FireFox则使用 
document.documentElement.clientWidth document.documentElement.clientHeight 

原来是W3C的标准在作怪啊 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 如果在页面中添加这行标记的话 

在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高) 

真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标准要方便许多啊。

另外,再附上一个获取当前可见区域大小的函数

http://mauzon.com/how-to-get-real-window-width/

function getWindowWidth() {
		var windowWidth = 0;
		if (typeof(window.innerWidth) == 'number') {
			windowWidth = window.innerWidth;
		}
		else {
			if (document.documentElement && document.documentElement.clientWidth) {
				windowWidth = document.documentElement.clientWidth;
			}
			else {
				if (document.body && document.body.clientWidth) {
					windowWidth = document.body.clientWidth;
				}
			}
		}
		return windowWidth;
	}

jquery获取当前窗口宽度的方法
获取浏览器显示区域的高度:$(window).height();
获取浏览器显示区域的宽度:$(window).width();
获取页面的文档高度:$(window).height();
获取页面的文档宽度:$(window).width();
jquery

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Vue中,禁止缩放浏览器窗口大小有几种方法可以实现。 第一种方法是通过CSS样式来禁止缩放。在HTML文件的`<head>`标签内,可以添加以下CSS样式代码: ```css <style> body { zoom: reset !important; -moz-transform: scale(1) !important; -moz-transform-origin: top left !important; -o-transform: scale(1) !important; -o-transform-origin: top left !important; -webkit-transform: scale(1) !important; -webkit-transform-origin: top left !important; } </style> ``` 上述代码中,`zoom`属性用于禁止缩放,`transform`属性用于重置缩放,并通过`!important`规定样式的优先级。 第二种方法是在Vue组件中使用JavaScript来禁止缩放。在Vue组件的`<script>`标签内,可以添加以下代码: ```javascript mounted() { window.addEventListener('resize', this.handleResize); }, methods: { handleResize() { window.resizeTo(window.innerWidth, window.innerHeight); } }, beforeDestroy() { window.removeEventListener('resize', this.handleResize); } ``` 上述代码中,`mounted`钩子函数用于在组件挂载时添加窗口缩放事件监听器,`handleResize`方法用于重新设置浏览器窗口大小为当前窗口大小。 需要注意的是,以上两种方法可能会因为浏览器的安全策略而被禁用,所以在实际开发过程中,建议综合考虑用户体验和浏览器安全性,并根据实际需求选择合适的方法来禁止缩放浏览器窗口大小。 ### 回答2: 在Vue中禁止缩放浏览器窗口大小需要通过一个简单的CSS样式来实现。首先,我们可以选择在Vue组件的根元素上添加以下样式: ```css <style> html, body { overflow: hidden; } </style> ``` 在上述代码中,我们将根元素的html和body标签的overflow属性都设置为hidden,这将禁止用户对整个窗口进行任何缩放操作。 此外,如果我们只想禁止水平或垂直方向的窗口缩放,可以将overflow-x或overflow-y属性值设置为hidden。例如,如果我们只想禁止水平缩放,可以将样式修改如下: ```css <style> html, body { overflow-x: hidden; } </style> ``` 需要注意的是,以上样式只是在Vue组件中禁止窗口缩放的一种方法。如果我们需要在整个网页中禁止窗口缩放,可以在全局CSS文件或HTML文件中使用相同的样式。 最后,需要提醒的是,虽然可以通过这种方式禁止窗口缩放,但这可能会违反用户体验的原则。因此,在实际应用中,我们应该慎重考虑是否真的需要禁止窗口缩放,并根据具体情况进行权衡。 ### 回答3: 要禁止缩放浏览器窗口大小,可以使用CSS样式和Vue的指令来实现。 首先,在Vue组件的模板中,添加一个元素作为容器来包裹内容,可以使用一个div元素,并给它一个唯一的id标识,例如"app"。 接下来,在Vue组件的样式中,使用CSS样式来设置这个容器的宽度和高度,并将"overflow"属性设置为"hidden",这样就可以阻止浏览器的滚动条出现。可以在Vue组件的style标签中添加如下样式: ``` <style> #app { width: 100%; height: 100%; overflow: hidden; } </style> ``` 最后,使用Vue的指令来动态绑定这个容器的大小,以使其与浏览器窗口大小保持一致。可以在Vue组件的script标签中添加如下代码: ``` <script> export default { mounted() { window.addEventListener('resize', this.handleResize); this.handleResize(); }, methods: { handleResize() { const app = document.getElementById('app'); app.style.width = window.innerWidth + 'px'; app.style.height = window.innerHeight + 'px'; } }, destroyed() { window.removeEventListener('resize', this.handleResize); } } </script> ``` 上述代码中,我们通过监听"resize"事件来调用handleResize方法,并在组件挂载时添加事件监听器。在handleResize方法中,我们获取到容器的DOM元素,并将其宽度和高度设置为浏览器窗口的宽度和高度。同时,在组件销毁时,移除事件监听器。 通过以上方法,我们就可以禁止缩放浏览器窗口大小,并且保持Vue组件与浏览器窗口大小一致。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值