首先,我道歉,我没有minimal, verifiable测试用例。我在Safari上遇到的问题,但我没有任何Apple产品。
在this website上,有一个错误,用户无法在导航回来后滚动页面。您可以按照链接,单击其中一个按钮,返回(通过滑动,单击按钮或使用快捷方式),然后您将无法使用触控板或鼠标滚轮滚动页面。对于导致这种情况的原因,我基本上一无所知。
报告此内容的用户正在使用Safari 9.1.2
答案 0 :(得分:2)
简而言之:
我相信答案是:您的网站代码没有任何问题。
事实上,我认为它与硬件相关,这就是为什么很多人无法重现这个问题而只会影响一些用户。
我已经使用我的Mac和Browserstack在Lion / Safari 6到El Capitan / Safari 9的每个操作系统上测试了该网站,使用了触控板和魔术鼠标。
在每种情况下,网站都正常运作。
正如您所述,跟踪垫受到影响,我想补充一点,任何 2手指滑动可能是确切的原因而且1手指滑动不是。< / p>
我之所以说它与硬件相关:,因为Apple运行论坛的用户抱怨同样的问题并且已经说过 PRAM重置是纠正问题的原因
Swipes and scrolling stop working in Safari
Apple论坛上的更多用户表达了他们的抱怨。
Apple users place the blame on everything from OS upgrades to system bugs and failing hardware .
最后:有一件事是肯定的。我没有看到一个用户声称它是网站编码的结果。
答案 1 :(得分:1)
我无法测试它因为我没有任何OSX但我在开发任何网站时从未遇到过这个问题。尽量不要依赖身上的溢出规格,让它自动化。 如果某些东西在X-line中溢出页面,那么你就会遇到结构不良或样式不好的问题(如果谈论响应式Web开发)。 如果Y-line中有东西溢出,那么即使你没有在身体的样式上声明它,它仍然可以滚动。
然后你宣布了盒子大小:border-box;和位置:相对;到所有元素(*,*:after,*:before)。也可以删除它,不需要重新声明这些属性,并且在处理不同元素时可能会导致问题。 认为html元素有默认属性,好习惯是学习和理解它,而不是疯狂地改变它...
最后,如果你检查控制台,你会发现一些jquery错误,可能会导致锁定一些css类或页面加载问题。
1- Delete body's overflow declarations.
2- Delete * stylings (* styles must be used only to homogenize text, as font family and font width, or other few generic non-structure modificable things)
3- repair JQuery errors.
希望它有所帮助,干杯!