Javascript函数joomla iframe自动高度

问题描述 投票:0回答:3

我正在我自己的域和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的高度自动添加。

我能用什么来取代这个功能?事先谢谢,劳伦特。

javascript function iframe joomla height
3个回答
0
投票

尝试使用此方法来调整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

  1. 将文件components / com_wrapper / views / wrapper / tmpl / default.php复制到templates / your_template / html / com_wrapper / wrapper /
  2. 打开文件templates / your_template / html / com_wrapper / wrapper / default.php
  3. 用以下新函数替换函数iFrameHeight(): 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;

0
投票

抱歉,正确的行:var the_height = document.getElementById('blockrandom')。contentWindow.document.body.scrollHeight; document.getElementById('blockrandom')。height = the_height;

版本ps:1.6版本joomla:3.2.1


0
投票

这段代码对我不起作用。但我解决了一个问题:

var the_height = document.getElementById('blockrandom').contentWindow.document.body.scrollHeight;
document.getElementById('blockrandom').style.height = the_height; //height + 'px'; 
© www.soinside.com 2019 - 2024. All rights reserved.