嗨,我正在尝试向我们的音乐圈网站添加照片库。我有一个 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”,则应该是不言自明的。
任何帮助将不胜感激。
--- 德里克