iframe调整大小因浏览器而异

时间:2013-05-23 09:50:26

标签: php iframe

您好我正在尝试将照片库添加到我们的音乐圈网站。我有一个php页面,它在iframe的子目录'media'中打开页面。在StackOverflow问题9162933上,我找到了一种动态调整iframe大小的方法(感谢BlueFish!),除了iframe的几个像素太小外,效果很好。

奇怪的是,“少数像素”因浏览器而异。为了测试目的,我在PHP中添加了一个参数“padding”,因此例如调用http://maladrerie.heliohost.org/mkh/mediapag.php?item=2013_01_17_1&padding=15将使用15px的填充调用http://maladrerie.heliohost.org/mkh/media/2013_01_17_1.html。填充默认为35px,显示在左侧边栏中。

相关的PHP代码是:

<?php if ( isset ($_GET["item"]) ) {
    $item = "media/" . $_GET["item"] . ".html" ;
} else {
    $item="media/lijst.html" ;
}
   if ( isset ($_GET["padding"]) ) {
        $padding = $_GET["padding"] ;
} else {
        $padding = 35 ;
}
?>

iframe主叫线是:

<iframe class="mediaframe" onload="resizeIframe(this)" frameborder="no" src="<?php print($item) ; ?>" > </iframe>

和javascript是:

<script type="text/javascript">
  function resizeIframe(iframe) {
    iframe.height = (iframe.contentWindow.document.body.scrollHeight + <?php print($padding) ; ?>) + "px";
  }
</script>

Safari和Chrome不需要填充(padding = 0); Firefox,Opera,IE8和IE10需要填充16; IE7需要填充30(我的测试机器上没有IE9)。

有关我应该如何处理的任何建议?该网站是荷兰语,但如果您在菜单中选择“Foto's en Geluid”,则应该是不言自明的。

非常感谢任何帮助。

---德里克

0 个答案:

没有答案