CSS   发布时间:2022-04-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了css – 如何在移动safari中正确显示iFrame大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试在我的移动网络应用程序中显示iframe,但我无法将iframe的大小限制为iPhone屏幕的尺寸。 iframe元素的高度和宽度属性似乎没有效果,奇怪。用一个div包围它管理约束它,但是我不能在iframe内滚动。

有没有人在移动safari之前解决iframe?任何想法从哪里开始?

解决方法

是的,你不能限制iframe本身的高度和宽度。你应该在它周围放一个div。如果您控制iframe中的内容,您可以在iframe内容中放置一些JS,这将告诉父级在收到触摸事件时滚动div。

喜欢这个:

JS:

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 id="scroller" style="height: 400px; width: 100%; overflow: auto;">
<iframe height="100%" id="iframe" scrolling="no" width="100%" id="iframe" src="url" />
</div>

如果您不控制iframe内容,则可以以类似的方式在iframe上使用重叠式广告,但是您无法与iframe内容进行互动,而不能滚动iframe内容,因此您无法点击iframe中的链接。

它以前是,你可以使用两个手指在一个IFrame内滚动,但这不工作了。

更新:iOS 6打破了这个解决方案为我们。我一直在试图得到一个新的解决方案,但没有什么工作了。此外,它不再可能调试设备上的javascript,因为他们引入了远程Web检查器,这需要一个Mac使用。

大佬总结

以上是大佬教程为你收集整理的css – 如何在移动safari中正确显示iFrame全部内容,希望文章能够帮你解决css – 如何在移动safari中正确显示iFrame所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。