【问题标题】:Scrolling on iPad for an iframe within GWT window在 iPad 上滚动 GWT 窗口中的 iframe
【发布时间】:2011-08-15 17:41:15
【问题描述】:

请注意:这不是“用两根手指滚动”问题。无论是一根手指、两根手指、三根手指还是整只手,出于某种原因,我们的 iframe 都不会在 iPad 上滚动。 :)

这是场景:

在我们使用 EXT-GWT 构建的 Web 应用程序中,我们有几个窗口以(最大化)弹出窗口的形式打开并向用户呈现一些表单。这些表单大部分时间都是外部的,在 iFrame 中呈现,并且一些表单的内容在初始加载时折叠 - 用户可以选择展开表单的任何部分,填写并提交。现在一切正常,除了 iPad 中的滚动。在 iframe 的内容加载并折叠后(折叠是在客户端使用 JS 完成的,基本上,内容默认加载为展开,然后由 JS 折叠)iPad 只是无法为 iframe 提供 scolling。即使 iframe 的内容展开后,iframe 也不会滚动。

到目前为止,我们已经通过将 EXT-GWT 窗口的高度(使用 JavaScript)增加到扩展 iframe 正文内容的大小来解决这个问题。这使得整个窗口可滚动,而不仅仅是窗口内的 iframe。虽然它可以工作,但窗口变得很大,所以我想知道是否有更好的方法让我们提供对 iframe 的滚动。

感谢您的帮助, 尼丁

【问题讨论】:

  • 对此有何帮助/建议?

标签: ipad iframe scroll gxt


【解决方案1】:

对于 iOS 设备,您需要设置溢出:自动;否则滚动将不起作用。对于我的网络应用程序,我使用 fancybox 模态显示 iframe,一旦我更改 css 文件中的溢出设置,两指滚动就可以在 iPad 上完美运行。

【讨论】:

  • 谢谢斯克。我很确定我尝试过溢出:自动;在 iframe 上,但它从来没有工作过。无论如何,现在问题已经解决了……我会再试一次。感谢您发布回复。
【解决方案2】:

在尝试(几乎)一切之后,我得出的结论是,将 GWT 窗口高度增加到 iframe.body.height 是让窗口/iframe 在 iPad 上滚动的唯一解决方案。希望这对将来的人有所帮助。

【讨论】:

  • 如何设置GWT窗口的高度?
  • 可以在窗口上调用setHeight()方法。
  • 你可以在 iframe 内滚动吗?如果我设置 iframe-height = gwt-rootpanel-height 我只能在 iframe 之外滚动。在 iframe 中,如果我想用一根手指滚动,只会选择文本。
【解决方案3】:

我对 GWT 很陌生,但对我来说它是这样工作的:

在我的例子中,iframe 的 parent-div 有一个类,x-component。 我在我的 css 文件中输入了这样的条目: .x-component{-webkit-overflow-scrolling: touch;溢出:自动;}

如果我不将这些条目设置为类,而是设置为 div 元素本身,它也可以工作。

希望有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-27
    相关资源
    最近更新 更多