【问题标题】:iPad - cannot scroll inside frameiPad - 无法在框架内滚动
【发布时间】:2011-04-26 13:43:04
【问题描述】:

我无法在 iPad Safari 的框架内滚动调用的 pdf

<frame src="ebook.pdf" title="Content Frame" name="content" id="content" 
frameborder="0" border="0" noresize scrolling="yes" marginwidth="0" marginheight="0" 
noresizescrolling="AUTO" framespacing="0" /> 

我已经尝试了两件事:

  1. 两指滚动
  2. 使用对象/嵌入代替框架

但这不起作用。

其实我已经尝试了很多东西...溢出、高度等等。

请帮助我。提前谢谢你。

【问题讨论】:

  • 任何提示或建议,如果不是实际的解决方案,也将非常有帮助和赞赏..谢谢..
  • 能不能在jsfiddle发个demo,我看看
  • 当然..实际上你可以在ipad.atwebpages.com/test.html上查看相同的内容
  • 补充一下,页面有2帧;顶部的一个是html,底部的实际上调用了pdf(不能在ipad中滚动)

标签: javascript css ipad macos safari


【解决方案1】:

根据这篇文章http://support.apple.com/kb/ht1484,在 iPad 上使用 Safari 时,您无法在框架内滚动任何内容。框架总是会调整大小以适应其内容(这也适用于 iframe)。为此,Safari 甚至会忽略您在 frameset-tag 中创建的“cols”或“rows”值,并且似乎使用了所需的任何值。不幸的是,框架没有为 PDF 正确调整大小,因此它们被截断了。

我认为您最好的选择可能是直接链接 pdf...

【讨论】:

  • 是的,对..直接链接 PDF 可以工作..但不幸的是,我无法在我当前的应用程序中做到这一点..
  • 如果您使用 iframe 而不是框架集,是否可以使用 JavaScript 后加载将 iframe 的高度重新调整回所需的值,以便整个 pdf 一次在页面上可见?
  • 如果您找到一个用于接收 PDF 高度的 Javascript 库,这应该是可能的。我不知道是否有这样的事情......但我从来没有搜索过:)也许PHP(或你想使用的任何语言)有解决方案
  • 我确实尝试过在线查找 PDF 高度是否可以动态计算...但还没有找到任何东西...您知道使用 Javascript 的任何方法吗?
  • 不,抱歉,我也没有找到任何东西。它必须是客户端还是你也可以使用一些服务器端的东西......比如使用PHP将pdf转换为图像并获得该图像的高度......虽然可能有点过分:)
【解决方案2】:

我认为问题在于您正在尝试显示 PDF。 2 指滑动方法应该适用于常规 HTML 框架。

一种选择是在您的应用程序中使用 Google Docs Viewer (http://docs.google.com/viewer)。

【讨论】:

  • 是的,对..但正如我所说,使用
  • 我也有点害怕使用 Google Docs Viewer ..我的意思是它完全免费用于商业目的吗?
【解决方案3】:

您可以在框架中的某些位置隐藏空 div,并使用 jQuery 滚动到这些位置。因此用户将无法滚动框架,但他们可以单击导航,将框架移动到适当的部分。

【讨论】:

  • 首先,非常感谢您抽出宝贵时间提出解决方案...对于您建议的方法,我有 2 个问题;
  • 嗯,我没有意识到您将 pdf 用作 iframe 的 src。我不认为我的方法会起作用。不能将 PDF 导出为图像并内联吗?那么这个方法就可以了。对不起!
  • 我不太明白将 PDF 导出为图像究竟是什么意思。你是说只是 jpg 然后创建一个指向实际 pdf 的链接。如果那是你我想说的是,我无法做到这一点,因为“src”属性 val 是动态的,即不同的 pdf 会根据用户的来源动态加载到同一帧中。
【解决方案4】:

您尝试过Ext JS 4 JavaScript 框架吗?在他们的论坛上,他们谈到了possibility to show a PDF in a panel。论坛主题包含示例代码。该解决方案并非特定于 iPad,但我听说 Ext JS 通常在 iPad 上运行良好。其他人有使用此框架的经验吗?

【讨论】:

    【解决方案5】:

    当我在 iPad 上浏览 StackOverflow 时,我注意到任何滚动到可见之外的框架中的代码都无法访问。我认为这可能只是 iPad / iPhone 上 Safari 的限制

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-28
      • 2011-08-12
      • 2015-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-16
      • 1970-01-01
      相关资源
      最近更新 更多