0

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

  1. 该问题仅存在于 iOS6 的 iPad/iPhone Safari 中。对于iOS5,没关系。
  2. 该问题仅在横向模式下存在。
  3. 只有当 url 指向我们的动态 web 问题时,问题才会存在。(我们在iOS5的Safari上运行过这个url,然后将结果保存为客户端的静态网页,然后将静态网页(包括它的图片,js,css文件等)上传到服务器,然后我们尝试在iOS6的Safari上横向连接这个静态页面,但是结果ok?静态页面的url是http://210.243.166.84:98/test/ttt/ttt.html(注意:对不起!,Stackoverflow不允许数字ip,所以请把url复制到你自己的浏览器)

有谁知道或曾经解决过与我们相同/相似的问题?

4

1 回答 1

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>
于 2013-05-10T04:23:11.170 回答