|
登录后查才能浏览下载更多咨询,有问题联系QQ:3283999
您需要 登录 才可以下载或查看,没有账号?入住遨海湾
×
先申请精华~. U- [) ]1 _& x: d' D$ \; _% {0 \
* ^& q# q! {5 B D6 q. K' K
看完一定要顶啊~
/ ]8 r4 L& m* X) D3 F, n8 @) T# r9 K+ T
先说明,这个办法只限于iframe中的子页面也是本地页面(不能引用外网页面)
3 [/ f/ T; |6 e, u7 y1 a7 W
" e% t) n; r+ H* K' R5 ^) N0 _======方法=====$ \" M1 X) B! V
第一步 js部分
8 {" ?! h. H; ^2 r1 w
* \/ j+ I5 e! S r! k3 @7 R. o- Ufunction getSize() { A# d% o: n L/ P! x" K
var xScroll, yScroll;
+ z6 j, r9 [# p! k if (window.innerHeight && window.scrollMaxY) {
2 n( ?, n- q. O' J1 w xScroll = document.body.scrollWidth;( a! e, e E3 m
yScroll = window.innerHeight + window.scrollMaxY;
' v4 f: L+ [& X" T5 Y! o4 G( I/ y; J } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
$ o5 T2 j3 n, g2 A( g xScroll = document.body.scrollWidth;
7 X% \3 N/ J+ m7 r yScroll = document.body.scrollHeight;4 s2 L, I ^ p. T1 W2 U
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
3 E1 b4 M& \2 T: c- [ xScroll = document.body.offsetWidth;1 Y7 z3 v- ?6 j5 I
yScroll = document.body.offsetHeight;
) h' K2 E% ?* A }9 q2 q! p$ @$ B8 D) I& S
7 i$ f- J9 m; J- ?: A5 p$ W" z
var windowWidth, windowHeight;$ j1 ^) d$ E# V, W
if (self.innerHeight) { // all except Explorer
* X8 ?) u. P* p: Y; L windowWidth = self.innerWidth;# |# M2 G* @ M4 N) A
windowHeight = self.innerHeight;; ^" i1 |1 n/ J
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode" m5 f* v! y- o9 A
windowWidth = document.documentElement.clientWidth;
5 f, o8 o/ n/ e6 a windowHeight = document.documentElement.clientHeight;9 m4 K/ e: P' g4 s; n* r) c5 |5 a
} else if (document.body) { // other Explorers
) H9 ~, z9 M/ Z- J# I( y windowWidth = document.body.clientWidth;) `9 O$ f7 R6 J8 F$ q" K5 f
windowHeight = document.body.clientHeight;
% L; w/ B. m8 o/ V/ H( d g } 9 a- l0 m, {/ }: ^
& J8 b& G% k5 Q% a // for small pages with total height less then height of the viewport
8 G! r& F' n3 x8 Q if(yScroll < windowHeight){
2 Y- C6 N0 _& ]) X1 O5 f' c7 } pageHeight = windowHeight;6 |$ V1 |! ~( v! u5 E6 T' Q
y = pageHeight;) u/ V/ q+ X7 _* Y5 T G& f( p
} else {
) ^" ~( E0 R: T( E3 G% R pageHeight = yScroll;$ z! u: S( ]3 ?/ t) ]" ^1 g( w
y = pageHeight;; \! I( O1 O0 x7 }" }2 [
}; h$ J5 H1 E/ c7 o2 H
4 Z+ }) V) k5 R: e, I& v
if(xScroll < windowWidth){ , ^, a% W, k9 {7 t0 X
pageWidth = windowWidth;* y" S0 L {, M7 W
} else {7 o* ?9 q) m& q
pageWidth = xScroll;
& s- G2 R6 x+ _6 v: e" C0 _ }
7 y5 w9 N7 Q1 l; F7 G4 [6 b8 R
6 m' H/ @; H1 b5 ~8 S. S arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) ; h; e; o' s( F$ a" B' P
return arrayPageSize;6 D' c2 g2 t( F9 A" \' P
}/ ^, s7 d* G' r3 O
这段代码用来获取目标页的参数,包括页面高、宽,屏幕高、宽
- Q# Q) M4 Z2 W: p1 @
* H2 j8 [& b! ^8 h7 q/ tfunction autoHeight(pid) {
3 k' }" d' O+ m6 P7 e; A var x = new getSize();1 {' D: S6 P0 k
parent.document.getElementById(pid).height=x[1];) G2 f7 V Q& w7 u, M& |
}
: r/ Q/ r2 t R& _7 m' W这段代码用来实现父页面中iframe的高度自适应
* q+ e# z- a" @5 j2 @) y" }/ Q/ c) x2 ]2 Q% g, S
\\\\\\\\\\
. @) C& J/ K# @) V
- ?# d- Q5 z7 z. ^' O) Y第二步 页面部分
0 v/ c. o4 }9 J; I6 x" U v* O2 V# Y' K* z
<div class="onright" style="width:480px;"><iframe id="infrm" name="infrm" marginwidth="0" marginheight="0" width="100%" src="park.htm" frameborder="0" scrolling="auto"></iframe>7 W% v" g. ]0 e' Z& @0 I
这是父页面的iframe,没什么特别的,和普通的iframe一样,不过要设置好id值,以便子页面的参数调用。
' m8 w8 Q6 B: w5 S( n" v/ U. ]( x$ T2 R/ U. ^
<body ></body>! o0 r% q( ^+ ^5 @
在body中利用onload事件,将自身的高度传给父页面的iframe。 ~! N6 \; _" c/ X* T# D6 w) y5 h
+ M+ f# ^$ t4 @3 y4 R! \" Y8 v\\\\\\\\\\2 X$ w) L% ~0 R" l5 D
* y" _4 S4 c- a0 J9 p+ h, }" F
打完收工~本方法在IE6,FF2,XPsp2下顺利通过,FF无报错~ |
|