|
|
登录后查才能浏览下载更多咨询,有问题联系QQ:3283999
您需要 登录 才可以下载或查看,没有账号?入住遨海湾
×
先申请精华~0 u6 B7 B0 f2 F* |, w
" L; \: A5 G7 g/ i$ d3 K; r
看完一定要顶啊~
% \( f$ F) e; [) f+ ?7 y/ \- |) j2 e. E
先说明,这个办法只限于iframe中的子页面也是本地页面(不能引用外网页面)! \- f% X' r4 g& Q, t8 X1 V, w) ?
( H' v4 v* l6 t3 v% b6 |9 y l
======方法=====: J) |) [" e3 E! z9 a9 a2 y
第一步 js部分: Y. |: g D7 K; _3 t
f6 o5 _! N, u3 K
function getSize() { b. u' R4 P+ @- d- i- j
var xScroll, yScroll; + ^$ x- T8 |$ [" J5 D# e
if (window.innerHeight && window.scrollMaxY) {
( K$ R* W, y* V# C( U xScroll = document.body.scrollWidth;. p% R* n2 t' U8 z9 Y1 j$ p e( z6 w: C% W
yScroll = window.innerHeight + window.scrollMaxY;
% \! N$ \+ P7 w9 Z3 Z p } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
6 q+ |& h3 d T, y: X- V% `& E xScroll = document.body.scrollWidth;
% n4 g& G9 y) I) W8 N yScroll = document.body.scrollHeight;
. W* C6 n( X& ~9 A- r } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
& R, i2 u7 j+ A% e, [1 n xScroll = document.body.offsetWidth;. J) {% j# o/ h% L7 I- p7 K1 ^/ Q
yScroll = document.body.offsetHeight;0 ]% H( k' z0 ^1 y. q' p, I; }
}5 H6 {. {& S; |7 E7 w
; U+ f- O4 J0 F$ ]% A" S1 r r var windowWidth, windowHeight;5 V9 V1 O% ]7 B/ {0 G' ~+ ?) z4 V
if (self.innerHeight) { // all except Explorer
3 P3 w% F- v9 {5 b3 g4 k' C windowWidth = self.innerWidth;* T; _ _3 \0 n$ g$ r
windowHeight = self.innerHeight;8 g6 E3 j- n$ C
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode+ t3 L3 H1 \: k
windowWidth = document.documentElement.clientWidth;9 D7 p" U7 V) O3 s' ]) y9 m
windowHeight = document.documentElement.clientHeight;6 p9 Q* h2 W4 f8 x# _# `8 q
} else if (document.body) { // other Explorers
" Z9 j! R9 K" @4 J4 _2 l windowWidth = document.body.clientWidth;
+ D" T0 b) w# a3 g; f windowHeight = document.body.clientHeight;
" f; X( l! U, t c) ? } 7 g; A0 W; g6 y# j5 l( a$ V
& @4 t: b1 M: _+ b9 G; ]1 n$ {
// for small pages with total height less then height of the viewport; z; }8 H+ p2 A1 \. y
if(yScroll < windowHeight){
! e$ r6 i7 O) P, c' V) w8 j pageHeight = windowHeight;
. x; h9 P' D) n y = pageHeight;
) k- Z+ W$ U& d4 C& y( I( u' z4 n4 z } else {
+ x' x( f; h5 i( ?* y pageHeight = yScroll;0 T* k" @! j3 c# @5 |' |8 T
y = pageHeight;: S) a, J6 x* @& R6 u
}
, W; V: b- s! [( B5 Q& }! V4 i0 i& J9 k2 f/ o& |
if(xScroll < windowWidth){
5 x9 P Z2 r; ^. m pageWidth = windowWidth;7 H6 p; K* `; S8 w
} else {3 l- H _# v, j6 G% x% @# Q5 [5 W
pageWidth = xScroll;
) N2 A/ z5 ? K. @- n# G# A; @ }% ^% ?% U7 r/ l2 s; {* K
; S" u6 V8 Y2 h( X [/ W) V# a8 c arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
2 [3 ?- n; H" _/ o% o return arrayPageSize;
( p9 D7 S5 |( G}& Q- z* h! ~: Y& [% l: K) s
这段代码用来获取目标页的参数,包括页面高、宽,屏幕高、宽
: o1 T1 M/ B Q( e, ]
6 q0 ]9 r6 U; x& T2 sfunction autoHeight(pid) {
) X5 h! p. Q" H+ g% S var x = new getSize();" g1 u, L6 H: o9 M q$ K! C$ L: q
parent.document.getElementById(pid).height=x[1];
5 i5 D- [( Z" z+ Y}
! ~" G2 W0 U+ y这段代码用来实现父页面中iframe的高度自适应+ i9 m/ o6 F5 C# |( Q& r
+ B. v9 ]6 Z* \/ }5 Z Z\\\\\\\\\\
) P; F4 x/ l, A" y
+ V/ D) h, c( Y. b% D( o第二步 页面部分0 J0 ^" D/ _2 X6 \9 t) X
: u5 k) T& |9 B+ @/ e# }4 ?<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>
+ U% {" L0 f2 S( w; ]! z这是父页面的iframe,没什么特别的,和普通的iframe一样,不过要设置好id值,以便子页面的参数调用。
2 q, ~$ J2 K$ K- L/ W& @0 S0 a0 H( @/ D0 q
<body ></body>
i2 a& x- ~, ^8 h* G) z* {在body中利用onload事件,将自身的高度传给父页面的iframe。
% V+ V+ A9 z+ s
1 W2 s. N, c. h# w\\\\\\\\\\! S0 l$ D9 w4 @! J
) b+ Y, }! c5 r! M+ D- \0 i9 p/ E- r
打完收工~本方法在IE6,FF2,XPsp2下顺利通过,FF无报错~ |
|