如何检测浏览器是否支持js onscroll ..立即

时间:2015-02-06 09:32:41

标签: javascript ios onscroll

我想检测浏览器是否支持onscroll吗?..问题是较旧的IOS IOS版本支持onscroll,但它会在滚动结束时触发。但是我想不出一种方法来检测这个?

3 个答案:

答案 0 :(得分:1)

由于你没有尝试检测是否支持onscroll但是你试图检查它的实现我会说代理嗅探是最好的方法(虽然代理嗅探通常是坏事)。

答案 1 :(得分:1)

旧的版本然后IOS8在触​​发滚动事件时暂停“DOM绘画”。 关于IOS版本之间的滚动差异的优秀文章可以在这里找到:

http://developer.telerik.com/featured/scroll-event-change-ios-8-big-deal/

http://ejohn.org/blog/learning-from-twitter/

自IOS版本8以来,onscroll将持续激活。你可以用javascript查看IOS版本。

function iOSversion() {
  if (/iP(hone|od|ad)/.test(navigator.platform)) {
    var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
    return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
  }
}

version = iOSversion();

if (version[0] > 7) {
  alert('Continuous scrolling is working!');
}

答案 2 :(得分:0)

您没有指定具有此类滚动事件行为的iOS版本,因此我建议在页面加载时使用用户代理字符串处理。

http://www.webapps-online.com/online-tools/user-agent-strings/dv/operatingsystem51849/ios有很好的iOS 7和8个用户代理字符串来源。如果没有匹配,则应用程序可以转到另一组定义的行为以进行滚动。