tid=159& 本帖最後由 media 於 2014-12-10 19:08 編輯 g7 g4 X- x2 x! H% Q* \
/ V1 g2 \+ _& G8 R. f最近用javascript取視窗的大小時,遇到不同瀏覽器無法偵測或不同的寬高的問題。後來找到下段這段程式碼,當用於點圖放大並顯示於前景中央位置時非常有用。
4 Y7 @# k3 c: U+ L( G- <script type="text/javascript">
4 g+ y, _& e: ?- r, T* P - <!--7 x) T# t; E. H4 B# j: J
- ( }8 q7 N+ d! p2 p0 ~1 [* z
- var viewportwidth;
5 p% L: A7 l& `9 a: O) O - var viewportheight;. V) b5 T( v) X) n
-
; s. Q$ [7 ?# r6 [. K - // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
2 B$ S0 v/ R6 A- `2 ~* h - ; ?2 V( b- {0 L% z+ {
- if (typeof window.innerWidth != 'undefined')
% K1 ^& k' q" Z/ h - {: t) u* d! V& k" F) ^
- viewportwidth = window.innerWidth,$ H/ _* O* V6 d" `7 X: G
- viewportheight = window.innerHeight
. B7 R8 m s O - }; U' r2 o9 v# Z7 R: X- G
-
6 l4 N% \! I3 h/ M* [ - // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)2 R k0 J, O# x9 {
7 M7 V ^$ }5 R* K" ~, u, p- else if (typeof document.documentElement != 'undefined'
1 O0 l0 q+ e/ C4 s9 T - && typeof document.documentElement.clientWidth !=
$ P5 X% Z" m/ t' [* w% p, E - 'undefined' && document.documentElement.clientWidth != 0)
) ^. v/ F" B" r* m - {
5 `+ G" `* g1 K8 j - viewportwidth = document.documentElement.clientWidth,4 f' M" z) J' z2 U
- viewportheight = document.documentElement.clientHeight
2 u* f$ p% |# s% I0 C - }( N, j8 I8 I, C2 }0 D- o2 s
-
3 ?" ]: @# v6 A - // older versions of IE# c- X! C! j% G
-
1 [" r7 f3 B+ x: S( ] - else- N/ ~& C+ O$ }6 k$ P/ T
- {
5 D/ \/ c: B7 a+ D: r6 @ - viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
, z% X H* O- f - viewportheight = document.getElementsByTagName('body')[0].clientHeight
, U# l" F1 k& v% i0 D" L - }
& ~8 U& a1 _( f - document.write('<p>Your viewport width is '+viewportwidth+'x'+viewportheight+'</p>');
2 e2 |! N$ {! f7 J - //-->7 {% [5 H* l4 V) T
- </script>
複製代碼 結果: 在google chrome 顯示結果/ U) a$ e- y4 ^
; ?; q, g; y/ O- f: d" i3 o; ^3 g" |& }$ \1 l
來源: Get viewport size (width and height) with javascript4 D; r4 H" u; a; L
4 M* u6 E9 u4 z1 q* K1 e7 z( }. N; j/ Z6 g
|