嵌入iframe的Three.js在iOS 8/9中不断增长

时间:2015-09-16 20:58:34

标签: javascript html ios iframe three.js

如果使用iframe在网页中嵌入包含Three.js的文件

<iframe id=viewer src=document-with-threejs.html></iframe>

然后,当在Mobile Safari中查看页面时,iframe的大小会无穷无尽。在今天发布的iOS 9中,此行为尚未得到纠正。发布此问题和答案,以便网络搜索轻松访问信息。

1 个答案:

答案 0 :(得分:7)

http://threejs.org/examples/index.html中找到了此行为的修复程序。截至2016年7月3日的新版和改进版:

var viewer = document.getElementById( 'viewer' );

// iOS iframe auto-resize workaround

if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {

    viewer.style.width = getComputedStyle( viewer ).width;
    viewer.style.height = getComputedStyle( viewer ).height;
    viewer.setAttribute( 'scrolling', 'no' );

}