Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
! m- a$ I. {. K* E: W9 C! K& I
) Z- S1 I: U4 F1 {, y. f通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {' j& ~* @! l( S% L- \& H6 V7 ?" g) I
- if( typeof(WebSocket) != "function" ) { j( }: O2 M* @$ h8 V$ O
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");. c- z% J( V( z/ r# f) P
- }
D, j5 G7 u3 @9 H - })3 {" F/ v \" Q7 ]
复制代码 0 p# _ d" d6 |
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
& e" Y; c# Q6 ?) m - /*supported*/
{* e0 y# [- E! W* Q- w - }
9 k8 Q: K+ l5 _' n# U - 6 p. t# e: t c- S5 Y- e
- //or' m p9 F; Z/ [' p3 B5 I
- if (!!window.WebSocket && window.WebSocket.prototype.send) {# J: w; y- z% O8 [
- /*supported*/
3 w* @( B& m# h: Q - }
复制代码
" l$ C$ Z* Y* Q) X. s |