ios

时间:2017-07-21 10:48:35

标签: javascript ios iframe

我们当前的方案是在某个elses网站的iframe中显示的网页(由我们创建)。 iframe包含一个kendo面板栏,当您展开项目时,随着内容高度的增加,您可以在页面中进一步向下滚动。可以单击一个按钮打开引导模式,但如果向下滚动页面,则模式将显示在顶部,有时完全不在视图范围内。您可以看到它已打开,因为背景会像预期的那样略微变暗,但您必须向上滚动页面才能查看模态。它似乎只是ios上的一个问题,似乎确实发生在safari和chrome中。我们在ios 10.3.3上进行了测试。

以下是行动中的错误图片:

iPhone iframe modal bug

iframe如下:

<iframe src="..." width="100%" height="500" frameborder="0" marginheight="0" marginwidth="0">

我尝试手动将模式滚动到视图中,但它似乎在iframe中没有按预期工作。我用来尝试将模态滚动到视图中的函数如下:

(function ($) {
    $.fn.scrollTo = function () {
        $('html, body').animate({
            scrollTop: $(this).offset().top + 'px'
        }, 'normal');
        return this; // for chaining...
    }
})(jQuery);

这是由模态的“显示”事件触发的:

$("#contactUs_modal").on('shown.bs.modal', function (e) {           
    $("contactUs_modal").scrollTo();
    $("#name").focus();
});

我也尝试过scrollIntoView,scrollTop等没有运气,而$(window).scrollTop(0);将背景滚动到顶部,而不是模态。

任何建议都会非常感激,我几乎没有想法。

1 个答案:

答案 0 :(得分:0)

它看起来像是一个引导模态滚动问题,而不是iFrame问题。