在苹果iOS里的PPT无法正常缩放问题
在iOS10以下,如果使用iframe嵌套ppt,在n=5的模式下,ppt无法缩放,这是iOS系统嵌套iframe后safari下子页面的宽度不受父页面控制的bug。iOS10以上已经解决该bug。
在iframe里面的页面没加载出来之前,iframe的宽和高是正常的,当里面的页面加载完了之后,宽度就会发生变化,当然,高度也相应改变。父页面中显示出来的iframe宽和高其实是子页面的真实宽高!也就是说子页面的宽高没有受到CSS跟JS的限制(js有改变width的值)。
解决办法是:
iframe的样式中的宽度需要设置width: #px !important。
具体多少屏幕宽度,可使用JavaScript动态方法,比如:document.getElementById("iframe的ID").setAttribute("style", "width:" + document.documentElement.clientWidth + "px !important");
注意:
1、无法使用document.getElementById("iframe的ID").style.width = document.documentElement.clientWidth + "px !important";这种方法,JavaScript是不支持的。
2、高度height也需要设置下,不然高度也会被Safari变大。示例代码中并为给出高度,请自行根据自己页面内容设置高度。.setAttribute会把已设置的高度覆盖。
3、安卓android系统可以不这样设置,但如果设置了,切记高度也要跟着设置。