
お世話になります。
ブラウザのサイズを取得するにはどうすればよいのでしょうか?
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が無効の場合
-
macでjavascriptを記述するには...
-
JavaScriptのonUnloadについて
-
JavaScriptを有効にする文言を...
-
javascriptでalertの文字列をコ...
-
htmlソースの取得方法
-
トップページindex.htmlにカレ...
-
javascriptにてonclickを無効
-
jQuery処理は、ページを読み込...
-
OnMouseDownでNetscapeがアボート
-
「オブジェクトを指定してくだ...
-
このDOCTYPEは、何なんでしょう...
-
DOCTYPE宣言とdocument.body.cl...
-
外部ファイルの記述の問題なの...
-
月ごとに表示するページを変える
-
<a href="#" …>の意味を教えて...
-
外部リンクはブラウザに依存する?
-
ブロックされるのかされないのか?
-
ホームページの一部の表示をラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでalertの文字列をコ...
-
onLoadをbodyタグ以外で使用する
-
【javascript クロスブラウザ...
-
画像ファイルのアドレスに今日...
-
特定のページから移動してきた...
-
「jQuery」アニメーションをル...
-
ブラウザーのバージョンによる...
-
macでjavascriptを記述するには...
-
変数の代入値を外部の.txtファ...
-
javascriptにてonclickを無効
-
指定の年月日時にcssを自動で切...
-
別URLからのJSON取得がうまくい...
-
innerHTMLが動作しない。
-
静的 動的の違い
-
セキュリティ保護の警告が出な...
-
jquery と javasprict
-
javascriptに関する質問です
-
ブラウザをJavaScriptで最小化…
-
日替わりメッセージの表示
-
JavaScript で指定した月日に別...
おすすめ情報