0

嗨,我正在尝试向我们的音乐圈网站添加照片库。我有一个 php 页面,它从 iframe 中的子目录“媒体”打开页面。在 StackOverflow 问题 9162933 上,我找到了一种动态调整 iframe 大小的方法(感谢 BlueFish!),并且效果很好,只是 iframe 太小了几个像素。

奇怪的是,“几个像素”因浏览器而异。我在 PHP 中添加了一个参数“填充”以进行测试,例如,调用http://maladrerie.heliohost.org/mkh/mediapag.php?item=2013_01_17_1&padding=15将调用http://maladrerie。 heliohost.org/mkh/media/2013_01_17_1.html,内边距为 15px。内边距默认为 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 的 padding;IE7 需要 30 的填充(我的测试机器上没有 IE9)。

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

任何帮助将不胜感激。

--- 德里克

4

0 回答 0