Не понятно, что у вас происходит
Вот такой код
fm.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title>1</title>
</head>
<body>
<iframe src="fr.html" id="frame" frameborder="1" onload="resizeIframe(this)"></iframe>
</body>
<script>
function resizeIframe(obj) {
console.log('main ', obj.contentWindow.document.getElementsByTagName('body')[0].scrollHeight);
obj.style.height = obj.contentWindow.document.documentElement.scrollHeight + 'px';
}
</script>
</html>
fr.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title>1</title>
</head>
<body onclick="alert('fffbc '+this.offsetHeight);">
<div style="background:red; width:100px; height:350px;"></div>
</body>
<script>
window.onload = function() {
console.log('frame ', document.getElementsByTagName('body')[0].offsetHeight);
console.log('frame ', document.documentElement.scrollHeight);
}
</script>
</html>
Отрабатывает совершенно нормально
Выдает
frame 350
frame 366
main 350
И фрейм получает размер по содержимому
Может, что с php не так?
Ошибок в консоле никаких нет?
Они оба на одном сервере?