Чтобы вычислить реальные размеры страницы или документа загруженного в iframe, воспользуйтесь следующим javascript кодом.
Если размеры окна браузера больше размеров документа, т.е нет необходимости прокручивать страницу, то функция возвращает значения высоты и ширины окна.
В противном случае функция сообщает высоту и ширину документа, т.е размеры окна плюс количество пикселей необходимых для прокрутки.
<script type="text/javascript" language="javascript">
function getDocumentSize(doc) { // getting a real size document with scrolling etc.
var r = { width: 0, height: 0 };
var width1=0, width2=0, width3=0, width4=0, maxWidth=0;
var height1=0, height2=0, height3=0, height4=0, maxHeight=0;
if (doc.width) maxWidth = doc.width;
if (doc.body) {
if (doc.body.scrollWidth) width1 = doc.body.scrollWidth;
if (doc.body.offsetWidth) width2 = doc.body.offsetWidth;
}
if (doc.documentElement) {
width3 = doc.documentElement.scrollWidth;
width4 = doc.documentElement.clientWidth;
}
maxWidth = Math.max(Math.max(Math.max(width1, width2), Math.max(width3, width4)),maxWidth);
if (doc.height) maxHeight = doc.height;
if (doc.body) {
if (doc.body.scrollHeight) height1 = doc.body.scrollHeight;
if (doc.body.offsetHeight) height2 = doc.body.offsetHeight;
}
if (doc.documentElement) {
height3 = doc.documentElement.scrollHeight;
height4 = doc.documentElement.clientHeight;
}
maxHeight = Math.max(Math.max(Math.max(height1, height2), Math.max(height3, height4)),maxHeight);
r.width = maxWidth;
r.height = maxHeight;
return r;
}
</script>
Пример использования
<a href="javascript:void(0)"
onClick="alert('width=' + getDocumentSize(document).width + ' height=' + getDocumentSize(document).height);"> получить размеры документа (высота и ширина)</a>
<br>
<a href="javascript:void(0)"
onClick="alert('width=' + getDocumentSize(window.frames['iframe_name'].document).width + ' height=' + getDocumentSize(window.frames['iframe_name'].document).height);">
вычислить высоту и ширину документа в iframe</a>
Примечание
Документ в iframe должен быть загружен с того же домена, что и родительская страница, иначе скрипт не будет работать из-за ограничений безопасности
Комментарии
А не проще ли <iframe
Почему то не работает размер
проверьте также наличие WWW в
Большое спасибо!
Спасибо очень помогло......
Добавить комментарий