А вот так:
function getViewportSize() {
var size = {};
if (typeof window.innerWidth != 'undefined') {
size.width = window.innerWidth,
size.height = window.innerHeight
}
else if (typeof document.documentElement != 'undefined'
&& typeof document.documentElement.clientWidth !=
'undefined' && document.documentElement.clientWidth != 0) {
size.width = document.documentElement.clientWidth,
size.height = document.documentElement.clientHeight
} else {
size.width = document.getElementsByTagName('body')[0].clientWidth,
size.height = document.getElementsByTagName('body')[0].clientHeight
}
return size;
}
В Mootools лучше делать так:
window.implement({
getViewportSize: function() {
var size = {};
if (typeof window.innerWidth != 'undefined') {
size.width = window.innerWidth,
size.height = window.innerHeight
}
else if (typeof document.documentElement != 'undefined'
&& typeof document.documentElement.clientWidth !=
'undefined' && document.documentElement.clientWidth != 0) {
size.width = document.documentElement.clientWidth,
size.height = document.documentElement.clientHeight
} else {
size.width = document.getElementsByTagName('body')[0].clientWidth,
size.height = document.getElementsByTagName('body')[0].clientHeight
}
return size;
}
});
Also interesting
Tags: js, viewport size
Ну ничто не мешает написать и так:
window.getViewportSize = function()
{
var size = {};
if (typeof window.innerWidth != ‘undefined’) {
size.width = window.innerWidth,
size.height = window.innerHeight
}
else if (typeof document.documentElement != ‘undefined’
&& typeof document.documentElement.clientWidth !=
‘undefined’ && document.documentElement.clientWidth != 0) {
size.width = document.documentElement.clientWidth,
size.height = document.documentElement.clientHeight
} else {
size.width = document.getElementsByTagName(’body’)[0].clientWidth,
size.height = document.getElementsByTagName(’body’)[0].clientHeight
}
return size;
}
Да не спорю, но тогда сканает и первый вариант, так как функция в js является методом объекта window ;-)
Я просто показал пример, как принято делать это в Mootools)