tid=159& 本帖最後由 media 於 2014-12-10 19:08 編輯
/ `! C5 v* i$ B! h
! ?! ~/ l" F5 F$ D4 y# R) K2 y" r最近用javascript取視窗的大小時,遇到不同瀏覽器無法偵測或不同的寬高的問題。後來找到下段這段程式碼,當用於點圖放大並顯示於前景中央位置時非常有用。
7 v7 V7 e) K% @- <script type="text/javascript">4 @- a5 ]8 N0 n
- <!--
" _. E$ r0 d4 s" c
; B: W O3 m8 h; ] p7 ?& _- var viewportwidth;4 X D1 D" x& d8 {# b% y" w
- var viewportheight;, ^2 Z z3 L/ l/ L* y
-
& X6 U! i- a, j8 [ x) _% \* f i. R - // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight' l9 [- ^& l7 |( D0 C
-
7 `) P, a9 J, o - if (typeof window.innerWidth != 'undefined'): W, P! f3 X1 r; V
- {
+ V! w* E& n7 |$ u: {1 z - viewportwidth = window.innerWidth,
7 J. M; ?2 A3 U8 a1 \+ \& _5 G* E - viewportheight = window.innerHeight! s% u" {" w' G8 K4 C8 E
- }1 p" F0 I L9 k* j3 h2 B" l
- " J; f& l2 O& r/ O% C
- // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
, v- F5 v& b0 {
9 N/ S `$ J3 c4 s9 _- else if (typeof document.documentElement != 'undefined'
2 W# A& U4 j+ E: w9 Q - && typeof document.documentElement.clientWidth !=0 o3 y3 [# F5 ?4 g
- 'undefined' && document.documentElement.clientWidth != 0)5 U/ |5 _* V, T% K8 O V9 ~
- {4 B6 K6 |' q1 n1 m4 [9 c9 X
- viewportwidth = document.documentElement.clientWidth,. v, o5 T1 m" C2 E3 H. g. ~ Y' ?
- viewportheight = document.documentElement.clientHeight% R& g' x: z2 d" I7 _4 m
- }7 b# Z# d* F" b' W. e# ~
-
6 s! i8 |( S& }- W0 h* Q - // older versions of IE; Z$ u( u! S8 \4 Q5 o! n" g6 {
- 4 I( q* G4 r R/ `* c- }$ e
- else
; w. d3 z# I6 C) D2 i - {* P9 N) D3 c6 x- f6 N y. K( v6 u
- viewportwidth = document.getElementsByTagName('body')[0].clientWidth,2 X) N5 v. C! L5 S9 V. e2 E( v
- viewportheight = document.getElementsByTagName('body')[0].clientHeight5 @* m$ ?. b6 o
- }* n, ~' C' D- n* E" N9 M
- document.write('<p>Your viewport width is '+viewportwidth+'x'+viewportheight+'</p>');
2 F7 f2 Z: {2 F# ]& D; ^ - //-->- w4 O' s1 v4 i% i
- </script>
複製代碼 結果: 在google chrome 顯示結果3 g3 G i) F, A8 `$ T
0 m9 J* U w/ A& U
0 [, a: b1 k6 K. Y來源: Get viewport size (width and height) with javascript
; {& } A$ K2 d: u4 `0 }& H3 j/ c' e( x2 B
) m- y' n1 M* D3 J) b) i" ] |