在iOS 6上横向模式下ipad safari滚动冻结

时间:2013-05-08 09:43:44

标签: ios6 safari scroll

我们在iOS6的Safari上遇到了一个非常奇怪的问题。我们有一个网址,它将执行一个网页程序来显示每行2张图像的报纸页面图像列表,它可以在iPad Safari上运行2年以上。但是,我们的用户最近报告说,当他们尝试向下滚动到底部以便查看最后一行的图像时,Safari只会冻结并仅显示图像的上半部分。以下是我们的测试结果:

  1. 问题仅存在于iOS6的iPad / iPhone Safari中。对于iOS5,没关系。
  2. 问题仅存在于横向模式下。
  3. 只有当url指向我们的动态网络问题时才会出现此问题。 (我们在iOS5的Safari上运行此url,然后将结果保存为客户端的静态网页,然后将静态网页(包括它的图像,js,css文件等)上传到服务器,然后我们尝试在横向模式下在iOS6的Safari上连接这个静态页面,但结果还可以?静态页面的网址是http://210.243.166.84:98/test/ttt/ttt.html(注意:抱歉!,Stackoverflow不允许数字ip,所以请将网址复制到你的网址自己的浏览器)
  4. 是否有人知道或曾经解决过与我们相同/类似的问题?

1 个答案:

答案 0 :(得分:1)

我们找到了原因并且令人惊讶地,这个问题实际上存在于所有iOS版本的Safari中。我们的servlet在index.html的框架内调用,如下代码所示:

<frameset rows="0,*" frameborder="NO" border="0" framespacing="0">
  <frame src="/untitled.htm" name="top">
  <frame src="/myapp/myIndex">
</frameset><noframes></noframes>
    <frame>

在myIndex生成的页面中,有一个锚点:

<a href='myapp/iPadNews'>

如果我们连接到index.html,ipadNews生成的页面实际上是框架的后代。我们猜测,由于未知原因,Safari会计算滚动错误,并认为在屏幕实际显示之前已经达到了页面底部。它仅在横向模式下发生的原因可能是在横向模式下图像更大,并且问题比在肖像模式中更早发生。如果我们在页面中添加更多图像,即使在肖像模式下也可能会出现问题。

我们采取的替代方案是在ahchor中添加'target = _blank',问题就会消失,如下面的代码:

<a href='myapp/iPadNews' target=_blank>