我正在我自己的域和joomla上托管iframe!我已经设置了一个iframe包装器。我放弃的网址开始于http://www.
,我的设置是:
scroll bars: auto
width: 100%
height: 500
auto height: yes
auto add: no
我的两个浏览器都给我一个javascript错误(null不是一个对象):使用safari,firefox和chrome。此错误指向joomla核心中的脚本:
<script type="text/javascript">
function iFrameHeight() {
var h = 0;
if (!document.all) {
h = document.getElementById('blockrandom').contentDocument.height;
document.getElementById('blockrandom').style.height = h + 60 + 'px';
} else if (document.all) {
h = document.frames('blockrandom').document.body.scrollHeight;
document.all.blockrandom.style.height = h + 20 + 'px';
}
}
</script>
这使我的包装器保持在500px高度,我希望它根据iframe的高度自动添加。
我能用什么来取代这个功能?事先谢谢,劳伦特。
尝试使用此方法来调整iframe的大小,包含iframe的所有元素都应设置为100%的高度。
<script type="text/javascript">
$(document).ready(function() {
function iSize(){
document.getElementById('mainFrame').height = document.getElementById('mainFrame').contentWindow.document.body.scrollHeight;
document.getElementById('mainFrame').height = document.getElementById('mainFrame').contentDocument.documentElement.scrollHeight;
}
});
</script>
如果这不起作用,也可以尝试这里找到的解决方案:Dynamic height iframe Joomla
function pageY(elem) {
return elem.offsetParent ? (elem.offsetTop + pageY(elem.offsetParent)) : elem.offsetTop;
}
var buffer = 0; //scroll bar buffer
function iFrameHeight() {
var height = document.documentElement.clientHeight;
height -= pageY(document.getElementById('blockrandom'))+ buffer ;
height = (height < 0) ? 0 : height;
document.getElementById('blockrandom').style.height = height + 'px';
}
document.getElementById('blockrandom').onload=iFrameHeight;
window.onresize = iFrameHeight;
抱歉,正确的行:var the_height = document.getElementById('blockrandom')。contentWindow.document.body.scrollHeight; document.getElementById('blockrandom')。height = the_height;
版本ps:1.6版本joomla:3.2.1
这段代码对我不起作用。但我解决了一个问题:
var the_height = document.getElementById('blockrandom').contentWindow.document.body.scrollHeight;
document.getElementById('blockrandom').style.height = the_height; //height + 'px';