Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
" \' W! @$ r% h2 ]& L
! r" d: L( y0 M5 S4 H+ t通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {# M2 ]& V( _) D; H
- if( typeof(WebSocket) != "function" ) {
4 ^+ [/ M; g7 c: | - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
+ L; d; Q: }; p' J" I - }
" e- ?: o, f* S [; |5 a - })- A+ ~5 o4 p. ~6 u/ e
复制代码
* l: Z" V9 G. F5 e0 n但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
4 K y$ h( |" p: Z - /*supported*/
. }% e+ [) L. P# B) [9 M - }+ X" W& ]4 b K8 \6 i4 y( L
- T2 K9 a5 k6 d- //or) r4 D; \, z& k
- if (!!window.WebSocket && window.WebSocket.prototype.send) {
8 [# }- Y0 G/ g; i - /*supported*/% z# z' u$ _, t b. n
- }
复制代码 6 M' M2 j1 ^$ z U" f
|