お世話になります。
ブラウザのサイズを取得するにはどうすればよいのでしょうか?
document.body.clientHeightで取得出来るのは分かりましたが
DTDにより動作したり、しなくなるのも分かりました。
×動作しない
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
○動作する
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
後者のものですとIEでは動作しますが、firefoxでは動作しません。
何か対処法は、御座いませんでしょうか?
一番望む形は
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
の宣言で、ブラウザサイズが取れるようになるのがベストです。
CSSを使用しているので<?xml version="1.0" encoding="UTF-8"?>を入れると
表示モードが互換になるので・・・。
対応したいブラウザはIE6.0、firefox,Safariです。
一応ソース
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
function init(){
var bodyHeight = document.body.clientHeight;
alert(bodyHeight);
}
</script>
</head>
<body onload="init();">
<div>
ほげ
</div>
</body>
</html>
No.2ベストアンサー
- 回答日時:
#1です。
当方環境はSleipnir 2.48/IE7でしたが、こんな記事も見かけました。実験はしていませんが。
記述ミスとかでIEで動作しないという話ではないんですよね?(動作しないのはFirefoxであって。)
http://mag.autumn.org/Content.modf?id=2005110713 …
himajin100000様、ご教授有難う御座います。
動作しないのはFirefox(当方1.5.0.7)です。
が、お教え頂いた
document.documentElement.clientHeightにしますと
Firefoxでブラウザのサイズを取得することが出来ました。
が、IEで取得出来なくなりました。
No.3
- 回答日時:
IEの標準準拠モードなら
var bodyHeight = document.getElementsByTagName("html")[0].clientHeight;
でいかがでしょうか。
ちなみに、IEでDOCTYPE宣言がある場合でもXML宣言がある場合は後方互換モードになるようです。
matchasoft様、ご教授有難う御座います。
XML宣言がない場合はIE,firefoxとも、OKでした。
XML宣言がある場合はIEはOK、firefoxはNGでした。
No.1
- 回答日時:
Firefox 3.0a1ユーザです。
おっしゃるソースをテキストエディタに貼り付け、hoge.htmlとして保存して開いてみましたがXML宣言の有無に関わらず正常動作してます。
#ところでError Consoleにエラーメッセージの類は出ていませんか?
himajin100000様、ご教授有難う御座います。
>#ところでError Consoleにエラーメッセージの類は出ていませんか?
firebugでもエラーメッセージは出ていません。
ANo2より、document.documentElement.clientHeightで
XML宣言なしでIE、Firefoxで取得することが出来ました。
Firefoxは私のバージョンが古かったので少し上げまして、
1.0.7にしました。(当サイト対応ブラウザが1.0.7からでした。失礼しました。)
整理しますと
document.body.clientHeightではIE、Forefox共に取得することが出来る。
document.documentElement.clientHeightではIEで取得可、Firefox(1.0.7)取得不可。
himajin100000様のFirefox 3.0a1なら出来るのかもしれません・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ASP・SaaS FC2 BLOG <AUDIO TAGを入れプレビューはOk テーンプレートを更新すると ✖ 1 2023/08/14 11:40
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- PHP php ログイン 1 2022/11/01 00:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptにてonclickを無効
-
javascriptでalertの文字列をコ...
-
JavaScript で指定した月日に別...
-
変数の代入値を外部の.txtファ...
-
javascriptでのHPデザインの振...
-
htmlソースの取得方法
-
ホームページ上で残り日数をカ...
-
jquery と javasprict
-
日替わりメッセージの表示
-
指定の年月日時にcssを自動で切...
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
フォーカス移動抑止について
-
スマホ上で、左右スワイプで次...
-
SQLのWHEREで全てを質問する方法
-
JavaScriptでiframeの内容を「...
-
SCRIPT5007: 未定義または NULL...
-
別ファイルのfunctionの読み込み方
-
複数のJavascriptを1つのscrip...
-
base64encodeでの文字化けについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでalertの文字列をコ...
-
変数の代入値を外部の.txtファ...
-
onLoadをbodyタグ以外で使用する
-
特定のページから移動してきた...
-
ウィンドを開いたとき位置を指...
-
javascriptにてonclickを無効
-
画像ファイルのアドレスに今日...
-
「jQuery」アニメーションをル...
-
指定の年月日時にcssを自動で切...
-
iframe内をリロードできますか?
-
セキュリティ保護の警告が出な...
-
【javascript クロスブラウザ...
-
ブラウザーのバージョンによる...
-
javascriptでページ内の一部分...
-
Future Shop2というショッピン...
-
日替わりメッセージの表示
-
jqueryでtoggleを無制限に繰り...
-
JavaScript で指定した月日に別...
-
Refreshの回数
-
DOCTYPE宣言とdocument.body.cl...
おすすめ情報