|
登录后查才能浏览下载更多咨询,有问题联系QQ:3283999
您需要 登录 才可以下载或查看,没有账号?入住遨海湾
×
先申请精华~6 g ^4 C. Y. T% t1 B/ ?0 E0 Z, C2 J: A
) Y" a) k/ x' U( i看完一定要顶啊~$ |6 S( B1 V! ~( R- j) M- H7 k
# h% n& M. J) \ C$ a. m9 |' E4 {先说明,这个办法只限于iframe中的子页面也是本地页面(不能引用外网页面)
6 G6 G7 Q/ A& m7 P" `: ]; k7 E( T' {2 |8 ~% }3 Y4 B; F. l( ]
======方法=====1 M1 w8 ^: j: y# s
第一步 js部分9 b, p: K. n- y3 j9 D+ ]
! w0 x' C+ p+ l8 @8 P4 ~9 H8 L
function getSize() {$ c a& A' Z0 c5 e; d; i
var xScroll, yScroll;
( Z$ E5 G1 X) O$ ^ if (window.innerHeight && window.scrollMaxY) { 6 [% l% j- W3 A) E3 z. b
xScroll = document.body.scrollWidth;
; s( x* `. ?# S+ p yScroll = window.innerHeight + window.scrollMaxY;
+ g W$ c& t, w+ t( R+ q } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
% k7 O+ M% H1 Z5 I1 v6 c xScroll = document.body.scrollWidth;
. f0 t/ W/ I" d+ j, e4 o/ Q( U& X yScroll = document.body.scrollHeight;: @. ~: q9 b) \
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari* P, s. _- [) B& ]3 N' |
xScroll = document.body.offsetWidth;' G4 H Q1 i) {1 {
yScroll = document.body.offsetHeight;. x7 r' w3 V `3 M. V
}
3 J( \/ V5 b- k/ b+ n+ p
& ^/ {) ?: }# ^" ^6 F: `' c! X2 S0 ~ var windowWidth, windowHeight;
: o# K+ r0 u# G# v3 U# [- C if (self.innerHeight) { // all except Explorer
5 L8 F$ g( h/ h% w- h windowWidth = self.innerWidth;
0 H, W: T2 c F! | windowHeight = self.innerHeight;
' Z/ }& Z" s# L3 R6 G } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
$ E5 G0 S, H. O5 Z windowWidth = document.documentElement.clientWidth;5 W2 g# A- V' [
windowHeight = document.documentElement.clientHeight;7 k- d* i3 j6 M, s4 M
} else if (document.body) { // other Explorers
$ e$ d& T: v% t windowWidth = document.body.clientWidth;/ j- P g4 h$ I/ W% s
windowHeight = document.body.clientHeight;
% T( @* Z6 ~( x6 v" ?! c: k } ) _! f$ k1 a" U, Q
7 k% C$ ]2 a; D; F5 x
// for small pages with total height less then height of the viewport
4 L: T9 Y8 B. X' f0 s) _ if(yScroll < windowHeight){6 ?; v- F9 x. I+ c# t5 [4 V% J+ S
pageHeight = windowHeight;6 z7 ?. G3 `7 d7 `% k' ]) |5 |1 q; Z
y = pageHeight;& E' {0 `6 {0 }4 F2 m
} else { 1 o% n# o) _1 l' _% x/ W
pageHeight = yScroll;$ e, u8 C) ?& r A
y = pageHeight;
9 r1 v# N9 h9 G& O }% X! t N9 B N! x9 ^
* D3 _2 L1 @+ l# u; c2 p& b) \ if(xScroll < windowWidth){ 6 i7 s' _4 k& s. i+ ?, `
pageWidth = windowWidth;
% Y# E% M1 f/ h. Q" | } else {
5 T; J4 I% O. R pageWidth = xScroll;
: d( m I( Y% X3 ~ }
/ _# N8 \( d8 [7 Q, g5 d* e* t' H; Y- _- w
arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
! g/ }2 v/ y' h" ?% ]1 L return arrayPageSize;* k" s2 G( _, v, P! _
}/ l% @) S8 M F
这段代码用来获取目标页的参数,包括页面高、宽,屏幕高、宽
% v0 Q+ c8 ?* f" V8 p9 ^5 V! O7 q. m! I6 v
function autoHeight(pid) {0 x" H( ` q- h1 B2 i3 A# Y
var x = new getSize();! V, ^7 i# {( a3 L; s
parent.document.getElementById(pid).height=x[1];
0 a: b% v% W1 V- t6 \}
# N! \- a7 k5 v/ v7 ~这段代码用来实现父页面中iframe的高度自适应' e& R, Z7 \& N8 Y
( e: H$ L# t7 G; C2 T6 Y, J& U
\\\\\\\\\\, \* M- f9 V7 a. c9 d9 V/ y8 c
- c* ]" J& e9 G% z* X2 `9 @* ~
第二步 页面部分6 p7 Y$ U% f9 E$ H
; A6 n$ b# e- y9 O5 [ E. _
<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>
5 \6 X9 ^; p. m. U9 W+ t9 Q这是父页面的iframe,没什么特别的,和普通的iframe一样,不过要设置好id值,以便子页面的参数调用。- X/ j& q/ y6 r* d/ ~9 A# g
# l) w p/ M0 F
<body ></body>- q- @$ G8 D; ^5 i
在body中利用onload事件,将自身的高度传给父页面的iframe。3 T$ E& \- J' q
* q! U# W) X% r# u4 J5 b4 Q8 g\\\\\\\\\\' h) @# o9 o( T4 q( l$ n# M' X
% O. v" T. t' ~
打完收工~本方法在IE6,FF2,XPsp2下顺利通过,FF无报错~ |
|