
由淘宝前端的一篇rem的文章( 点击前去 ),得知安卓40以下的版本浏览器,浏览器可见区域宽度与实际不符(如文中的例子,中兴U930手机上物理分辨率宽度为540px(windowouterWidth), 页面可见区域宽度值为360px(windowinnerWidth), 而实际页面可利用的宽度为400px左右),而引出了另一个问题,js中能够获取到各种宽度的方式,和各种宽度代表的意义。
综合下表,(在不考虑低版本安卓浏览器 页面可视区域js取得的值与实际可利用区域不符的情况)我们 设置根字体大小(用于rem)使用页面宽度的1/10,在不主动改变滚动条样式的情况下,页面宽度使用documentducumentElementclientWidth ,若需改动滚动条样式则判断为webkit内核的手机浏览器 的情况下使用windowinnerWidth
var node=documentgetElementById("__ax2sd2sdfkd");
获取的node变量是个null,下一行再点取时自己出空指针异常。
首先要保护一下
if(node != null) {
}
其次,考虑一下 "__ax2sd2sdfkd" 这个ID肯定存在吗?它的名字是不是随机的?有没有拼写错误?
第一点:简单说明下,首先你要明白ie每个版本其实机制是不一样的,据我的经验简单来说越高的版本纠错率可能相对高一些,可以识别一些不符合w3c格式的代码。
第二点:简单解释下windowtop的问题。在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, 而
windowtop就是返回顶层窗口,即浏览器窗口。
(注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。)
PS:我觉得这么说最容易解释你问的问题了,至于官方的说法百度都有。希望采纳
C#web view2htmldocument属性webView 自适应高度 documentbody 属性
前段时间开发遇到webView 高度自适应问题,用最初的方法无效,找了些资料,记录下。
1、若网页中含有< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">
问题一:js 中怎么获取当前屏幕的宽度 documentdocumentElementclientWidth 这个方法返回页面在当前窗口中可见部分的宽度(不包括滚动条宽度);
windowinnerWidth 这个方法返回页面在当前窗口中可见部分宽度(包括滚动条宽度);
windowouterWidth 返回浏览器窗口自身宽度,包括菜单和边框;
screenwidth 返回设备的(屏幕宽度)
问题二:js网页如何获取手机屏幕宽度 ]@]@]
@sssss
var x = navigator;
var w=windowinnerWidth
|| documentdocumentElementclientWidth
|| documentbodyclientWidth;
var h=windowinnerHeight
|| documentdocumentElementclientHeight
|| documentbodyclientHeight;
documentgetElementById(p1)innerHTML=屏幕分辨率:+screenwidth + + screenheight+内部窗口: + w + + h
不知道是不是这个 屏幕分辨率 :pc上的桌面分辨率 。手机上是 一个型号固定的分辨率比如
华为8813的分辨率是480854。。 内部窗口是 改变窗口大小刷新一下就有新的数据
问题三:用javascript 怎样才能很好的获取手机的屏幕宽度和高度 一般来说在移动浏览器上是拿不到屏幕真实分辨率的,因为页面渲染是在一个叫viewport的页面绘制区域内(说的通俗点就是手机浏览器是用一个虚拟的屏幕来显示网页的)。viewport和屏幕的真实尺寸并不是对应的,如在Safari Mobile中viewport默认宽度(320px)是屏幕真实尺寸(640px)的一半,这里不管是用windowinnerHeight还是windowscreenwidth拿到的都是320px。当然我们可以通过meta设置改变viewport的比例,如initial-scale=5就可以让viewport和屏幕一致的尺寸,但这个比例在不同的手机上并不一定是2倍关系,特别是Android手机,在大屏手机(5寸以上)上这个值是3倍甚至4倍。而且改变viewport比例后可能会导致后续制作中出现一系列问题。所以我认为不要纠结一定要拿到屏幕真实尺寸,就把viewport的尺寸当成屏幕的尺寸进行页面设计和制作肯定是没有问题的。
有一个非常曲线的解决办法,就是:css的媒体查询(@media)是能够检测屏幕尺寸(其实是浏览器窗体的真实尺寸,并不是屏幕的真实物理尺寸,介意的朋友就不要看了)的,通过它来给网页内的某个元素设置一个特殊的属性,然后再用JavaScript来获取这个属性值。当然这样只能获得一个阶梯值(比如480px到540px之间、540px到600px之间等等),不是精确值,所以可能得不偿失,因此我是不推荐的。
问题四:如何获得当前屏幕的高度 windowonload = function(){ 获取屏幕高度 documentdocumentElementclientHeightconsolelog(documentdocumentElementclientHeight); 获取屏幕宽度 documentdocumentElementclientWidthconsolelog(documentdocumentElementclientWidth);}
问题五:html中 如何获取屏幕宽度 把以下这段代码放到之间或之间预览即可看到数据
/将获取的值存到变量里/
width_screen=screenwidth;
height_screen=screenheight;
availWidth_screen=screenavailWidth;
availHeight_screen=screenavailHeight;
colorDepth_screen=screencolorDepth;
/end/
/输出值/
documentwrite(你的屏幕宽为:+width_screen+
你的屏幕高为:+height_screen+
你的屏幕可用宽为:+availWidth_screen+
你的屏幕可用高为:+availHeight_screen+
你的颜色设置所有为数为:+colorDepth_screen);
/end/
问题六:怎么用jquery来获取屏幕的宽度和高速 $(window)width();$(window)height();严格来说,获取window才对
问题七:javascript怎么获取屏幕大小 1
2
3
4
5
6
7
8
9
windowonload = function(){
获取屏幕高度 documentdocumentElementclientHeight
consolelog(documentdocumentElementclientHeight);
获取屏幕宽度 documentdocumentElementclientWidth
consolelog(documentdocumentElementclientWidth);
}
问题八:PHP怎么获取屏幕的宽度与高度? 10分 PHP是无法获取屏幕的高度和宽度的,你可以用JS来获取
Javascript:
网页可见区域宽: documentbodyclientWidth网页可见区域高: documentbodyclientHeight网页可见区域宽: documentbodyoffsetWidth (包括边线的宽)网页可见区域高: documentbodyoffsetHeight (包括边线的高)网页正文全文宽: documentbodyscrollWidth网页正文全文高: documentbodyscrollHeight网页被卷去的高: documentbodyscrollTop网页被卷去的左: documentbodyscrollLeft网页正文部分上: windowscreenTop网页正文部分左: windowscreenLeft屏幕分辨率的高: windowscreenheight屏幕分辨率的宽: windowscreenwidth屏幕可用工作区高度: windowscreenavailHeight屏幕可用工作区宽度: windowscreenavailWidth
JQuery:
$(document)ready(function(){alert($(window)height()); 浏览器当前窗口可视区域高度alert($(document)height()); 浏览器当前窗口文档的高度alert($(documentbody)height());浏览器当前窗口文档body的高度alert($(documentbody)outerHeight(true));浏览器当前窗口文档body的总高度 包括border padding marginalert($(window)width()); 浏览器当前窗口可视区域宽度alert($(document)width());浏览器当前窗口文档对象宽度alert($(documentbody)width());浏览器当前窗口文档body的宽度alert($(documentbody)outerWidth(true));浏览器当前窗口文档body的总宽度 包括border padding margin})
问题九:怎样用 JavaScript 准确获取手机屏幕的宽度和高度 屏幕分辨率的高:windowscreenheight
屏幕分辨率的宽:windowscreenwidth
网页可见区域宽:documentbodyoffsetWidth
网页可见区域高:documentbodyoffsetHeight
问题十:Android开发 怎样获取屏幕的宽高是多少厘米 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸
下面的代码即可获取屏幕的尺寸。
在一个Activity的onCreate方法中,写入如下代码:
[java] view plain copy print
DisplayMetrics metric = new DisplayMetrics();
getWindowManager()getDefaultDisplay()getMetrics(metric);
int width = metricwidthPixels; 屏幕宽度(像素)
int height = metricheightPixels; 屏幕高度(像素)
float density = metricdensity; 屏幕密度(075 / 10 / 15)
int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)
DisplayMetrics metric = new DisplayMetrics();
getWindowManager()getDefaultDisplay()getMetrics(metric);
int width = metricwidthPixels; 屏幕宽度(像素)
int height = metricheightPixels; 屏幕高度(像素)
float density = metricdensity; 屏幕密度(075 / 10 / 15)
int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)
但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下:
[html] view plain copy print
>
<html>
<head>
<title>js 获取div所填充内容的实际高度 </title>
</head>
<body>
<div id="div1">
百度知道是一个基于搜索的互动式知识问答分享平台,于2005年6月21日发布,并于2005年11月8日转为正式版。百度知道一直探索国际化发展,于2012年3月31日发布百度知道台湾版。
</div>
<button type="submit" onclick="test()">点击获取</button>
<script type="text/javascript">
function test() {
var oDiv = documentgetElementById('div1');
alert(oDivoffsetHeight);
}
</script>
</body>
</html>
下面结合各上图介绍一下各个属性的作用:
一offsetTop属性:
此属性可以获取元素的上外缘距离最近采用定位父元素内壁的距离,如果父元素中没有采用定位的,则是获取上外边缘距离文档内壁的距离。所谓的定位就是position属性值为relative、absolute或者fixed。
返回值是一个整数,单位是像素。
此属性是只读的。
二offsetLeft属性:
此属性和offsetTop的原理是一样的,只不过方位不同,这里就不多介绍了。
三offsetWidth属性:
此属性可以获取元素的宽度,宽度值包括:元素内容+内边距+边框。不包括外边距和滚动条部分。
返回值是一个整数,单位是像素。
此属性是只读的。
四offsetHeight属性:
此属性可以获取元素的高度,宽度值包括:元素内容+内边距+边框。不包括外边距和滚动条部分。
返回值是一个整数,单位是像素。
此属性是只读的。
五clientWidth属性:
此属性可以返回一个元素的宽度值,值是:元素的内容+内边距。不包括边框、外边距和滚动条部分。
返回值是一个整数,单位是像素。
此属性是只读的。
六clientHeight属性:
此属性可以返回一个元素的高度值,值是:元素的内容+内边距。不包括边框、外边距和滚动条部分。
返回值是一个整数,单位是像素。
此属性是只读的。
七scrollLeft属性:
此属性可以获取或者设置对象的最左边到对象在当前窗口显示的范围内的左边的距离,也就是元素被滚动条向左拉动的距离。
返回值是一个整数,单位是像素。
此属性是可读写的。
八scrollTop属性:
此属性可以获取或者设置对象的最顶部到对象在当前窗口显示的范围内的顶边的距离,也就是元素滚动条被向下拉动的距离。
返回值是一个整数,单位是像素。
以上就是关于html各种页面宽度outerWidth、innerWidth、clientWidth全部的内容,包括:html各种页面宽度outerWidth、innerWidth、clientWidth、无法获取未定义或null引用的属性parentnode、麻烦解释:window.top.document.body.clientWidth这段代码的详细意思。解释好给予加分。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)