如何获取页面可视区域的高度

如何获取页面可视区域的高度,第1张

function getWH(){

var wh = {};

"Height Width"replace(/[^\s]+/g,function(a){

var b = atoLowerCase();

wh[b]=window["inner"concat(a)]||

documentcompatMode ==="CSS1Compat" && documentdocumentElement["client"concat(a)]

|| documentbody["client"concat(a)];

});

return wh;

}

了解两个名词:BackCompat 标准兼容模式关闭(怪异模式)

CSS1Compat 标准兼容模式开启

这个方法为获取页面可视区域的高度,普通情况下,windowinnerHeight 即可获取,如果是正常模式,并且有clientHeight的情况下, documentdocumentElementclientHeight 获取的就是可视区域高度。在怪异模式下,是使用documentbody获取。

function getBodyWH(){

var wh = {};

"Height Width"replace(/[^\s]+/g,function(a){

var b = atoLowerCase();

wh[b]=documentcompatMode ==="CSS1Compat" && documentdocumentElement["scroll"concat(a)]

|| documentbody["scroll"concat(a)];

});

return wh;

}

这个为获取页面的高度,用于iframe的自适应时候获取。

var ss = {};

ssscrollTopFn = function(arg){

var a = navigatoruserAgenttoLowerCase()indexof("webkit");//判断webkit内核

var scrollTop;

if(a>-1||documentcompatMode =="BackCompat"){

thisscrollTopFn =function(arg){

if(typeof arg == 'number'){

documentbodyscrollTop = arg;

}else{

return documentbodyscrollTop;

}

}

}else{

thisscrollTopFn =function(arg){

if(typeof arg == 'number'){

documentdocumentElementscrollTop = arg;

}else{

return documentdocumentElementscrollTop;

}

}

}

return thisscrollTopFnapply(this,arguments);

}

你的代码写的没有错

如果我猜得不错的话,你是直接运行的这段代码!

先给你讲原理:

调用DOM对象,必须在页面(框架)完全下载完后才能构建DOM树, 所以我们一般是把这些代码封到一个函数内,再用windowonload来指向这样解决:

function show()

{

documentwrite(windowframes["cwin"]documentgetElementById("reg")styleheight);

}

windowonload=show;

也许你会说,那为什么我的innerHTML能获取到呢 请注意:完全下载!

明白了吧

<IFRAME HEIGHT="31" WIDTH="88"></IFRAME>

设置边框的宽度和高度

<iframe frameborder=0 width=170 height=100 marginheight=0 marginwidth=0 scrolling=no src="move-adhtm"></iframe>

<IFRAME>用于设置文本或图形的浮动图文框或容器。

BORDER

<IFRAME BORDER="3"></IFRAME>

设定围绕图文框的边缘宽度

FRAMEBODER

<IFRAME FRAMEBODER="0"></IFRAME>

设置边框是不否为3维(0=否,1=是)

HEIGHT,WIDTH

<IFRAME HEIGHT="31" WIDTH="88"></IFRAME>

设质边框的宽度和高度

SCROLLING

<IFRAME SCROLLING="NO"></IFRAME>

是否有滚动条(YES,NO,AUTO)

SRC

<IFRAME SRC="GIRLGIF"></IFRAME>

指定IFRAME调用的文件或(HTML,HTM,GIF,JPEG,JPG,PNG,TXT,)

“画中画”效果--谈IFRAME标签的使用

纵观时下网站,本来网速就有些慢,可是几乎每页都要放什么Banner,栏目,版权等一大堆雷同的东西,当然,出于网站风格统一、广告效应的需要,本无可厚非,可毕竟让用户的钱包为这些“点缀“的东西”日益消得钱憔悴”了,有没有办法,让这些雷同的东西一次下载后就不用再下载,而只下载那些内容有变化区域的网页内容呢?

答案很肯定:应用Iframe标记!

一、Iframe标记的使用

提起Iframe,可能你早已将之扔到“被遗忘的角落”了,不过,说起其兄弟Frame就不会陌生了。Frame标记即帧标记,我们所说的多帧结构就是在一个浏览器窗口中显示多个HTML文件。现在,我们遇到一种很现实的情况:如有一个教程,是一节一节地上,每页末尾做一个“上一节“、“下一节“的链接,除了每节教程内容不同之外,页面其它部分内容都是相同的,如果一页一页地做笨页面,这似乎太让人厌烦了,这时突发奇想,如果有一种方法让页面其它地方不变,只将教程做成一页一页的内容页,不含其它内容,在点击上下翻页链接时,只改变教程内容部分,其它保持不变,这样,一是省时,另则以后如教程有个三长两短的变动,也很方便,不致于牵一发而动全军了;更重要的是将那些广告Banner、栏目列表、导航等几乎每页的都有的东西只下载一次后就不再下载了。 Iframe标记,又叫浮动帧标记,你可以用它将一个HTML文档嵌入在一个HTML中显示。它不同于Frame标记最大的特征即这个标记所引用的HTML文件不是与另外的HTML文件相互独立显示,而是可以直接嵌入在一个HTML文件中,与这个HTML文件内容相互融合,成为一个整体,另外,还可以多次在一个页面内显示同一内容,而不必重复写内容,一个形象的比喻即“画中画“电视。

现在我们谈一下Iframe标记的使用。

Iframe标记的使用格式是:

<Iframe src="URL" width="x" height="x" scrolling="[OPTION]" frameborder="x"></iframe>

src:文件的路径,既可是HTML文件,也可以是文本、ASP等;

width、height:"画中画"区域的宽与高;

scrolling:当SRC的指定的HTML文件在指定的区域不显不完时,滚动选项,如果设置为NO,则不出现滚动条;如为Auto:则自动出现滚动条;如为Yes,则显示;

FrameBorder:区域边框的宽度,为了让“画中画“与邻近的内容相融合,常设置为0。

比如:

<Iframe src=">

一般来说,父页面的高度是自动的,iframe高度再大,父页面也会自动适应的

除非楼主你的父页面设置了高度以及overflow:hidden之类的样式

另外iframe里面的内容超过1000px的话,而且iframe设置了没有滚动条的话,就没有滚动条了这是后话

或者楼主给出部分代码看看

以上就是关于如何获取页面可视区域的高度全部的内容,包括:如何获取页面可视区域的高度、JS 获取iframe中的div高度、怎么知道iframe内容高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9680979.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存