Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
" P5 U+ z; g( e0 Y7 |
9 z& }% [; k7 x' b# K通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
% Q, ]; F& n. v - if( typeof(WebSocket) != "function" ) {
" c- Z* W1 [# Y - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");, i$ }1 k {& Q( H- [
- }! @% A7 {3 {/ q) Y. k; n0 e- w& S4 I
- })
( d8 V0 ^, V# X" {
复制代码
/ `) _/ u# q$ U1 E7 X但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
: o' H- A( ]5 o- ] - /*supported*/ 7 M4 G b3 x" ]' n4 A
- }" @" B5 b$ ?$ N0 _) s1 ~, ^& Q) n
) {& g7 o1 H, z- i- //or7 D; p9 k% }7 j# {) ?8 Q
- if (!!window.WebSocket && window.WebSocket.prototype.send) {
& n& d0 i% J+ h* h, f - /*supported*/* ]4 _3 @. z/ H4 o, K M6 o
- }
复制代码
: P7 S4 u( C: {6 @8 \$ Z% ]0 w3 j |