Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。+ e/ k$ B+ S$ E4 ~* F$ f- |
: |. o! R5 C' q
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {5 N# ]0 l. G" {5 B/ q
- if( typeof(WebSocket) != "function" ) {
E0 q: d; \. @, G7 ^, B, C0 i3 l - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
0 @7 |8 U) C+ ] - }
3 A& [$ _" R5 n; ~2 s2 p - })) C$ b" I/ x6 T% L
复制代码 ; v, T. |" v' V# G# e% W, W
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
$ j: m! F7 j1 N, x$ R1 n/ ? - /*supported*/
! e% v$ P1 I+ i8 M* G8 l! Z - }
& F$ @ y0 q7 n" {0 M
$ J8 T# `: a8 t% \- //or0 S6 z$ C1 P; E
- if (!!window.WebSocket && window.WebSocket.prototype.send) {
& p; I2 ~ B# w6 s: O - /*supported*/
; E* C$ i8 }7 x# C$ x - }
复制代码
+ f$ b: ^' y- T% X, y: E0 T |