Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
) b3 b3 r' ~: S! t# y6 q9 P8 ]! p% A
" [0 w; j, Y0 B4 M) A( q9 I# @( H
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {9 |& Y# X0 P. w! ^! _/ l
- if( typeof(WebSocket) != "function" ) {6 q1 R- v' g' b" H
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
9 f0 k X# l, y q0 E - }: }( _' C! [5 m% G/ T6 D+ U( P
- })
' h I: I& w8 F/ ?1 k
复制代码 ; v6 F. E9 |% W, Z- ^, J' J
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
; W4 A D t7 K q - /*supported*/
- P5 Q1 m; H8 k# r/ K+ A - }/ p$ ?/ j5 t9 P
- $ j8 A% R+ t# r2 K* t K
- //or
s- Q& }" h8 J V! w7 G" r - if (!!window.WebSocket && window.WebSocket.prototype.send) {
: M- {! J; n0 n - /*supported*/$ D: [, F/ O, n+ Q. W
- }
复制代码 L% r% ]1 _* @# [! Q. D. S
|