DOCTYPE宣言とdocument.body.clientHeight
お世話になります。
ブラウザのサイズを取得するにはどうすればよいのでしょうか?
document.body.clientHeightで取得出来るのは分かりましたが
DTDにより動作したり、しなくなるのも分かりました。
×動作しない
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
○動作する
<?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-transitional.dtd">
後者のものですとIEでは動作しますが、firefoxでは動作しません。
何か対処法は、御座いませんでしょうか?
一番望む形は
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
の宣言で、ブラウザサイズが取れるようになるのがベストです。
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-transitional.dtd">
<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>
お礼
ありがとうございました。 なんとなく分かってきました。 ふむふむ。書かないのが正解かもしれないですね。 また何かありましたら、よろしくお願いします!