2015-02-06 136 views
4

我想檢測瀏覽器是否支持onscroll立即?問題是IOS的舊IOS版本支持onscroll,但它會在滾動結束時觸發。但我想不出一種方法來檢測這個?如何檢測瀏覽器是否支持js onscroll ..立即

+0

既然你用jquery標記了這個問題,是element.on(「scroll」,function(){})不工作? – 2015-02-06 09:46:10

+0

@kasperTaeymans - 該測試如何說明問題描述的'scroll'的兩個實現之間的區別?這甚至不會告訴你它是否被支持*在事件被解僱之前。 – Quentin 2015-02-06 09:50:49

+0

它不,但爲什麼這個問題標籤爲jquery? – 2015-02-06 09:52:16

回答

1

既然你不試圖檢測,onscroll是否支持,但你試圖檢查它的實現我會說,代理嗅探是最好的方法(儘管代理嗅探通常是壞事)。

1

舊版本然後IOS8暫停「DOM繪畫」,而滾動事件被觸發。 一個關於IOS版本之間的差異onscroll優秀的文章可以在這裏找到:

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!'); 
} 
相關問題