<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<!--
This page was created to test the proper methods of getting the height and
width of the document/window across various browsers.
-->
<head>
<title>Dimensions Test</title>
<script type="text/javascript">
var ua = navigator.userAgent.toLowerCase();
var isStrict = document.compatMode == 'CSS1Compat',
isOpera = ua.indexOf('opera') > -1,
isIE = ua.indexOf('msie') > -1,
isSafari = (/webkit|khtml/).test(ua),
isSafari3 = isSafari && (document.evaluate ? true : false);
var getViewportHeight = function(){
var height = window.innerHeight; // Safari
if(isSafari && !isSafari3) return height; // Safari 2
var mode = document.compatMode;
if((mode || isIE) && !isOpera){
height = isStrict ? document.documentElement.clientHeight : document.body.clientHeight;
}
return height;
};
var getViewportWidth = function(){
var width = self.innerWidth; // Safari
if(isSafari && !isSafari3) return width; // Safari 2
var mode = document.compatMode;
if(mode || isIE){
width = (mode == "CSS1Compat") ? document.documentElement.clientWidth : document.body.clientWidth;
}
return width;
};
var getDocumentHeight = function(){
var scrollHeight = isStrict ? document.documentElement.scrollHeight : document.body.scrollHeight;
return Math.max(scrollHeight, getViewportHeight());
};
var getDocumentWidth = function(){
var scrollWidth = isStrict ? document.documentElement.scrollWidth : document.body.scrollWidth;
return Math.max(scrollWidth, getViewportWidth());
};
window.onload = function(){
console.log('view height: ' + getViewportHeight());
console.log('doc height: ' + getDocumentHeight());
var myDiv = document.getElementById('myDiv');
myDiv.style.height = getDocumentHeight() + 'px';
myDiv.style.width = getDocumentWidth() + 'px';
};
</script>
<style type="text/css">
body {
margin: 0;
padding: 0;
}
div#myDiv {
background-color: #e5e;
}
p {
width: 1000px;
position: absolute;
top: 0;
left: 0;
}
</style>
</head>
<body>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lacus quam, dapibus non, laoreet ac, semper in, augue. Nullam elit elit, suscipit eu, tempor ullamcorper, cursus ut, arcu. Suspendisse non diam. Duis semper urna a lectus rutrum accumsan. Pellentesque sagittis. Nullam scelerisque nisi ut pede. Praesent cursus varius eros. Suspendisse potenti. Ut tempor cursus nisl. In volutpat, lectus lobortis ullamcorper rutrum, massa mi venenatis sapien, eu blandit nunc ipsum non quam. Ut laoreet mauris id metus. Nullam volutpat. Suspendisse potenti. Morbi porttitor mi a nulla. Donec id leo.
Duis luctus aliquet enim. Duis diam. Pellentesque congue, diam nec dapibus suscipit, risus tortor luctus ipsum, eget pretium nulla nisl a odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce vel nunc. Nunc bibendum, diam id rhoncus rhoncus, tellus mauris faucibus diam, eget posuere ligula magna sit amet enim. Aliquam id purus at justo feugiat facilisis. Nam ultricies ullamcorper pede. Ut auctor. Praesent faucibus. Proin ut magna. Ut vel neque. Mauris malesuada felis. Nulla vehicula ultricies tellus.
Cras vitae tellus. Mauris volutpat, ligula ut condimentum luctus, lectus diam malesuada odio, tincidunt vestibulum ligula felis et est. Aliquam posuere. Mauris adipiscing diam vel eros. Integer vulputate. In tincidunt nisi ut neque placerat consequat. Sed auctor mauris id nisl posuere malesuada. Phasellus gravida, nunc id placerat placerat, sem leo consectetuer odio, vitae sollicitudin tortor lacus sit amet neque. Sed lacus eros, mattis vel, elementum sit amet, rutrum quis, risus. Curabitur ultrices adipiscing erat. Nullam lobortis, magna nec euismod placerat, mauris justo dictum turpis, at ullamcorper augue orci sed velit. Aliquam facilisis dignissim lectus. Vestibulum feugiat dolor at leo. Proin consectetuer, nibh vel posuere fringilla, augue neque aliquam purus, eget faucibus felis enim non diam.
Nullam faucibus, sapien nec mattis ultricies, sapien mauris bibendum tellus, in sodales orci ligula in odio. Vivamus lacus risus, tincidunt eu, accumsan non, tincidunt eu, neque. Quisque ultricies, odio quis pellentesque facilisis, felis odio auctor ante, vel lobortis dolor eros quis mi. Nam venenatis dictum nulla. Duis imperdiet. Ut eros sapien, convallis in, fermentum ac, porta quis, tellus. Ut in erat nec felis iaculis malesuada. Nam vitae pede. Donec a massa. Donec quis elit. Nunc commodo. Phasellus diam ante, dignissim quis, tempor ac, porta a, est. Integer semper. Sed cursus. Nunc feugiat. Proin quis mauris id pede euismod lobortis. Nam et massa. Curabitur consectetuer quam non sapien.
Aenean dictum, ligula eget aliquet dapibus, magna arcu tincidunt arcu, non sodales urna diam nec orci. Ut mi nunc, pharetra et, consequat eget, viverra at, dolor. Nulla tincidunt tristique diam. Curabitur at arcu eget ante dictum elementum. Sed varius bibendum odio. Nunc mi pede, malesuada quis, placerat non, pellentesque in, urna. Fusce ornare elementum nisi. Pellentesque ut sapien vitae lacus luctus iaculis. Suspendisse quam tellus, facilisis ut, porta ut, tristique vel, purus. Integer ultricies lorem. Integer molestie neque sit amet velit ullamcorper euismod. Suspendisse potenti. Quisque lorem dui, varius eu, laoreet ut, tempus sed, dolor.
Sed purus tellus, porta vitae, consectetuer et, ultrices sed, magna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer rutrum commodo neque. Integer congue turpis nec elit. Praesent malesuada diam placerat diam. Aenean id lorem. Vestibulum et massa id massa auctor dictum. Aliquam tempor. Vestibulum ac velit. Sed ultricies velit eu felis. Quisque tristique. Praesent diam. Vivamus elit ante, consectetuer et, dictum a, suscipit non, eros. Donec sagittis accumsan turpis.
Maecenas leo. Curabitur lacus metus, bibendum id, varius quis, sodales id, erat. Fusce ac nisl. Nam quis dui. Aenean non risus feugiat arcu pharetra blandit. Duis ullamcorper tellus nec justo. Mauris erat. Cras lacinia tortor vel nunc. Nulla facilisi. Nunc ultricies, arcu id dignissim euismod, elit elit lobortis eros, at molestie elit ligula sed leo. Vestibulum molestie, orci ut porttitor scelerisque, nisl urna feugiat libero, eget dictum enim nunc sit amet justo. Ut pede nisi, suscipit id, mattis et, pharetra at, massa. Praesent faucibus lorem nec urna. Phasellus a odio.
Praesent adipiscing, turpis in placerat consectetuer, velit erat vulputate eros, interdum mattis neque lorem eget pede. Morbi tincidunt sagittis nibh. Fusce vel lorem. In dolor ligula, porta ac, eleifend non, mollis nec, mi. In hac habitasse platea dictumst. Aliquam ut arcu quis lorem pretium consectetuer. Etiam sem. Sed vulputate metus quis metus. Cras condimentum, nulla non interdum suscipit, elit magna scelerisque elit, et tempor nunc nibh eget pede. Vivamus mi tellus, hendrerit sit amet, volutpat at, accumsan ac, odio. Praesent commodo. Nunc metus lorem, luctus eget, rutrum nec, feugiat quis, odio. Aliquam erat volutpat.
Pellentesque hendrerit erat at sem. Morbi mollis pede vitae velit. Nunc ultrices, enim ac adipiscing aliquam, ipsum dui tempus orci, ac congue velit turpis sed nulla. Cras a risus nec nisl pellentesque posuere. Phasellus gravida lectus et eros. Vestibulum nibh. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla ac justo. Integer ligula. Sed in sapien. Aliquam porta leo nec neque. Integer tempor congue metus. Ut bibendum leo dapibus purus. Praesent felis purus, bibendum quis, tempor non, volutpat in, tortor. Etiam eget leo.
Phasellus congue. Morbi sapien neque, aliquet eu, imperdiet non, egestas at, nulla. Morbi tortor. Praesent semper libero nec ipsum. Donec lacinia dapibus velit. Cras est. Aliquam erat volutpat. Nunc consequat, nunc in hendrerit tincidunt, augue mi hendrerit sem,