Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
2 j# o) x* q, k, z; i9 g
; u) A* G+ T$ _6 X" c3 A6 x7 ]
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {' M8 z1 c: ~ Q9 J. U
- if( typeof(WebSocket) != "function" ) {
- T7 G' A, q# b v. T; P9 t - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
, x& v9 i$ T3 R; i5 x C' | - }
2 y5 ~, m, R7 w& l+ D4 z - }), f" Q3 b" n: H+ V/ D6 `
复制代码 & l s# K8 T" K4 b
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {, D$ M Z% f7 D& ~
- /*supported*/
& o2 T1 E3 r/ P c6 o - }, ?) h: b5 S* o# g
- " z# B8 q) y; W4 x; ^( J1 T. {
- //or7 L7 c5 h* o1 C! c: Z
- if (!!window.WebSocket && window.WebSocket.prototype.send) {
+ j* [- `% l. ^) x9 R - /*supported*/
4 ~3 d, z% q, w/ N& }* M: l; ? - }
复制代码
! M0 ]+ h" u) ?) c7 C/ N( W |