|
登录后查才能浏览下载更多咨询,有问题联系QQ:3283999
您需要 登录 才可以下载或查看,没有账号?入住遨海湾
×
先申请精华~4 l& K8 ^5 F' U$ r5 b7 m1 ]" @) G: R
; r! v ]+ I& E; t9 k( m看完一定要顶啊~5 e. @! G- {, |+ D4 V
+ }7 g- Z# S& V$ `' z先说明,这个办法只限于iframe中的子页面也是本地页面(不能引用外网页面)) l' h/ P* ?6 R4 ^
6 u2 r m! Y+ r, E' g
======方法=====0 k0 E2 a% L& C$ f; Z
第一步 js部分# p$ R* v9 M9 ] E
% Z3 G6 y9 n0 \# _
function getSize() {( y2 `/ L7 R2 G: R( P
var xScroll, yScroll;
, Y, Y n- E) P) [ if (window.innerHeight && window.scrollMaxY) {
- y- }4 t2 _% a: j0 g; h z xScroll = document.body.scrollWidth;
+ G s& N* w; J/ m; G yScroll = window.innerHeight + window.scrollMaxY;. u- a0 ^' x+ h1 S% o- L
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac1 g0 a. }0 }3 I$ S, r w- u
xScroll = document.body.scrollWidth;
' W+ V% x C! Z" q7 c% V yScroll = document.body.scrollHeight;
: D. V1 e9 C" r- T& S4 S0 Y% i } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
' r5 }/ w# j7 [5 r0 f4 k xScroll = document.body.offsetWidth;
, H4 O5 R9 C5 b; `9 D yScroll = document.body.offsetHeight;8 V- i! Y4 f. P) d$ a6 Z! C" \
}$ ~9 W4 i7 s& A# l$ G
( V& T8 U( t }3 ~+ ^3 n var windowWidth, windowHeight;
$ X, \! @. z! U. ` if (self.innerHeight) { // all except Explorer
& M* Y5 g7 w4 v4 X: g V" g8 I windowWidth = self.innerWidth;; \; Z9 R- K, w8 E4 V' \
windowHeight = self.innerHeight;4 P) U+ m8 i- r4 t+ ~# W0 {8 b
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode. r& h4 Q# W5 @+ r% ]
windowWidth = document.documentElement.clientWidth;
( p) x6 R! a( X7 a windowHeight = document.documentElement.clientHeight;/ r4 ]/ o* O9 z" C7 |9 F4 H3 S
} else if (document.body) { // other Explorers( q' ~& ]1 m$ K$ a7 [3 c; D$ Q+ Z
windowWidth = document.body.clientWidth;: f/ Y+ H- Y1 o2 ^; j7 h
windowHeight = document.body.clientHeight;: E7 j$ Q/ v" L" p2 x- ]4 t
} ( L2 Q( A$ s4 ^. p+ D, y( ~+ a
( V6 ?2 ^. A$ l G7 J0 ^! d // for small pages with total height less then height of the viewport
\) ]8 V) J, q, R& `$ T& @0 ]7 G if(yScroll < windowHeight){
# G0 p' A) U8 P& P4 r6 R. P pageHeight = windowHeight;' U% ]# R' Y) I) ~& R# \. D/ O
y = pageHeight;/ @! ~1 Y- U' n: i' A R7 q) H- f
} else {
/ i( Q$ E) ~5 c: G& O pageHeight = yScroll;. G7 {+ F4 N1 O! H% m
y = pageHeight;
; G7 [* L$ q, t/ \2 u+ A }9 v7 u1 c3 j& E& ?( p
$ a( {# V: [# z6 N
if(xScroll < windowWidth){ / V6 c7 [" O/ c2 U( E$ {# N
pageWidth = windowWidth;
: S! V9 W, H5 V } else {
) E, k# |* X* X pageWidth = xScroll; k; T& v' s' l9 W* x. }' e+ y% e
}
% u0 G+ @* \- m h# S0 Y7 E' X: `5 ?) @& m6 U1 Z5 ]
arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) - J) X' V& q9 X8 \- F# E
return arrayPageSize;
9 P6 a2 T6 J8 D$ i" }}
2 @" G; x( `8 K这段代码用来获取目标页的参数,包括页面高、宽,屏幕高、宽. J# ], g0 h. v
: g# J" g5 _3 \+ kfunction autoHeight(pid) {
- W6 E: ]. y/ Q) B- u% Q var x = new getSize();
% I2 [! w6 L" E+ z1 ` |4 R9 b parent.document.getElementById(pid).height=x[1];9 _0 |6 F3 M' G% `
}
2 c, H- A: {3 \2 t5 I7 Y这段代码用来实现父页面中iframe的高度自适应
9 H0 J! T) x& h/ r L/ k
! M) Q: ], W0 `$ ], y" a1 u% b\\\\\\\\\\8 n& i7 I, {! B6 |; S
" g6 [$ z: x. A5 Y3 A! Z. n$ M
第二步 页面部分/ Z; L$ `* K: E9 `# m. @8 W3 K
9 Q+ u. {+ s" Z( C
<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>
* ]$ y7 o* W% p5 H这是父页面的iframe,没什么特别的,和普通的iframe一样,不过要设置好id值,以便子页面的参数调用。
# p- I) @8 z& a2 n: _1 I! J' c% _1 N, y$ M
<body ></body>- A! E2 K8 A8 q! I/ q
在body中利用onload事件,将自身的高度传给父页面的iframe。& l9 V' B' q# R/ {9 Q- _
# }$ o- z3 _2 J& p\\\\\\\\\\& Y) n. c9 n# S+ O
7 h/ d! H3 Q1 ]* {$ q打完收工~本方法在IE6,FF2,XPsp2下顺利通过,FF无报错~ |
|