
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内容高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)