Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
& |! i" ^/ B" L; c
4 P3 {7 y, _& ^+ }/ ~
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {; x# I3 I$ T- U& h5 Y2 P3 Q& o
- if( typeof(WebSocket) != "function" ) {5 j# x* F! \1 A0 T9 i; A
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");: x" m) `+ W! l! u! D
- }0 B$ V( O# t: F8 ~3 I+ o G
- })
^4 S# `7 Y* D) v
复制代码
: E" F7 u" i* y* O) ~% M/ ^, R但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
# ^* M' ?% O; f4 W$ L5 F - /*supported*/
$ e# r) H6 l7 B" L& Q - }
9 K5 \! y6 N$ F% U! t O9 h* I - # z H/ Q- @- y
- //or
! E$ m @5 v: [0 y# ^: r$ | - if (!!window.WebSocket && window.WebSocket.prototype.send) {* E% h$ y7 B% z
- /*supported*/: i s* S. `9 G% F; q. P
- }
复制代码
' V) w7 ?. a1 K% t! _3 T |