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