在 Mobile Safari 中显示 iFrame:完整指南
将 iFrame 合并到移动 Web 应用程序中可能是一项挑战,尤其是在旨在限制其尺寸。尽管设置了高度和宽度属性,iframe 可能仍然不受约束。
解决方案:
将 iframe 包含在 div 中以控制其尺寸。然而,这种方法在 iframe 中引入了滚动限制。
要克服这个问题,请实施以下策略:
示例代码:
iframe 的 JavaScript:
setTimeout(function () { var startY = 0; var startX = 0; var b = document.body; b.addEventListener('touchstart', function (event) { parent.window.scrollTo(0, 1); startY = event.targetTouches[0].pageY; startX = event.targetTouches[0].pageX; }); b.addEventListener('touchmove', function (event) { event.preventDefault(); var posy = event.targetTouches[0].pageY; var h = parent.document.getElementById("scroller"); var sty = h.scrollTop; var posx = event.targetTouches[0].pageX; var stx = h.scrollLeft; h.scrollTop = sty - (posy - startY); h.scrollLeft = stx - (posx - startX); startY = posy; startX = posx; }); }, 1000);
父级的 HTML div:
<div>
注意:当 iframe 内容不受您控制时,您可以在 iframe 上创建覆盖层并实现类似的滚动功能。但是,与 iframe 内容的交互(例如单击链接)将受到限制。
其他注意事项:
以上是如何使 iFrame 在 Mobile Safari 中可滚动?的详细内容。更多信息请关注PHP中文网其他相关文章!