Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
/ g4 a; p7 l$ I2 v. T: p2 c
; d! T6 k0 o( I2 O
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {: _% T8 `" T" B
- if( typeof(WebSocket) != "function" ) {
' T: q! @! B( Q9 F5 @. X5 ?" ^9 Z; U - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");! E- }7 {3 Z7 I6 d, ~, Y
- }3 v. ~- _! @ d0 S/ H
- })0 Q) ^" z( x! l' N
复制代码 . q! j6 A! }- L9 l+ g! R+ ?
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {/ W8 C# [* x6 w% R. [) h
- /*supported*/ - D5 `; Q; f3 [5 J+ _! z2 N
- }2 b- S2 [* I. v! U
$ r: T; E" ~; b; T1 H- //or. s" m, S- L3 }: B# l; t- s- Y
- if (!!window.WebSocket && window.WebSocket.prototype.send) {
8 |+ _: Y9 h# R8 x# u; w2 F5 a - /*supported*/
5 t. ]' ?. {2 X - }
复制代码 % V, U4 Q0 Z' n
|