【发布时间】:2014-03-05 16:25:54
【问题描述】:
iOS 有一个约定,双击顶部栏(即显示当前时间的位置)会将应用滚动到顶部状态。例如,在 Safari 中双击顶部栏会将您带到当前网页的顶部,而在 Facebook/Twitter 中双击顶部会将您带到提要的顶部。这是一个非常有用的导航快捷方式。
为了这个问题,我们称它为 TopTap。
我想知道如何在移动 Safari 的 JavaScript 应用中检测 TopTaps —— 也就是说,不是在 iOS 应用中,而是在碰巧在移动 Safari 中查看的网页中。
在我的特殊情况下,我不能依赖内置的移动 Safari TopTap 行为,因为我的文档由一个实现其自己的可滚动界面的 <canvas> 元素组成。我希望能够检测到 TopTap,以便我可以将 <canvas> 滚动到其顶部状态。
我已经尝试添加一个onscroll 事件处理程序,但该事件中没有可区分的信息可以让我隔离 TopTaps。另外,我不能使用触摸事件(touchstart 等),因为 TopTap 发生在浏览器/OS chrome 中,不在网页范围内。
有什么想法吗?
【问题讨论】:
标签: javascript html ios safari