不知道大家是否有遇到过使用iframe嵌套其他域名的情况。 眼下我就遇到了一个项目,项目出于开发中,但是客户要求使用正式域名访问。 所以我们在正式服务器上放了一个页面使用iframe嵌套测试域名。 但是过程中遇到了一个问题iframe在ios设备宽度不能100%,只能显示一半,如下图:
但是在安卓手机上面访问是正常的。
历经千辛万苦,终于找到一丝眉目。 原来当”scrolling”设置为”yes”的时候ios根本就直接忽略了iframe设置的宽度和高度。
CSS部分:
.frame_holder{ width:100%; height:100%;}
.my_frame {
width: 100%;
height: 100%;
border:0;
}
HTML部分:
<div class="frame_holder">
<iframe class="my_frame" id="iframepage" src="http://m.wanhu.com.cn/"></iframe>
</div>
JS部分:
var dw = $(window).width(),
dh = $(window).height(),
ifmbox = $(".frame_holder"),
iframe = $("#iframepage");
var cssText = "width:" + dw + "px !important;";
iframe.css("cssText",cssText);
if(navigator.userAgent.match(/(iPod|iPhone|iPad)/)){ //判断是苹果设备还是其他设备
ifmbox.addClass('ifm-ios');
iframe.attr("scrolling","no"); //评估设置设置为no
}else{
iframe.attr("scrolling","yes") //安卓设备设置为yes
iframe.height(dh)
}
案例项目:
http://www.wanhu.com.cn/shouji/ , 找到客户案例,所有手机站案例都可以