Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。& U( z# R5 q. } V2 a2 o( F. G. n
. r2 _7 n7 B" @' W2 ]
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
; Y9 Z" W6 T- R: B - if( typeof(WebSocket) != "function" ) {
( z3 T8 n& D0 b+ C/ m l4 r( | - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");" Z9 o1 u Z% |- W9 K7 |( Y
- }
1 {2 X& F! ], D4 m# n% z3 s" O - })
5 Z/ Q( m5 [$ G7 y0 W
复制代码
3 d5 P4 i& J& z( I/ C但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
1 _5 e. L$ T( n, @0 f - /*supported*/ ; ?( W7 f; [/ W! G0 U0 c" s# o
- }) m. L* z0 z1 V$ ]
- 8 x6 B; y+ B3 [
- //or
d1 Y8 w ^$ w* H - if (!!window.WebSocket && window.WebSocket.prototype.send) {, ?6 j# V% V* E7 f
- /*supported*/4 _# P8 f9 R6 F j9 m1 }
- }
复制代码 2 }1 f6 z& `( {) |
|