我们在iOS6的Safari上遇到了一个非常奇怪的问题。我们有一个网址,它将执行一个网页程序来显示每行2张图像的报纸页面图像列表,它可以在iPad Safari上运行2年以上。但是,我们的用户最近报告说,当他们尝试向下滚动到底部以便查看最后一行的图像时,Safari只会冻结并仅显示图像的上半部分。以下是我们的测试结果:
http://210.243.166.84:98/test/ttt/ttt.html
(注意:抱歉!,Stackoverflow不允许数字ip,所以请将网址复制到你的网址自己的浏览器)是否有人知道或曾经解决过与我们相同/类似的问题?
答案 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>