network-connection.js 911 B

12345678910111213141516171819202122
  1. // determining low-bandwidth via navigator.connection
  2. // There are two iterations of the navigator.connection interface:
  3. // The first is present in Android 2.2+ and only in the Browser (not WebView)
  4. // : docs.phonegap.com/en/1.2.0/phonegap_connection_connection.md.html#connection.type
  5. // : davidbcalhoun.com/2010/using-navigator-connection-android
  6. // The second is specced at dev.w3.org/2009/dap/netinfo/ and perhaps landing in WebKit
  7. // : bugs.webkit.org/show_bug.cgi?id=73528
  8. // unknown devices are assumed as fast
  9. // for more rigorous network testing, consider boomerang.js: github.com/bluesmoon/boomerang/
  10. Modernizr.addTest('lowbandwidth', function() {
  11. var connection = navigator.connection || { type: 0 }; // polyfill
  12. return connection.type == 3 || // connection.CELL_2G
  13. connection.type == 4 || // connection.CELL_3G
  14. /^[23]g$/.test(connection.type); // string value in new spec
  15. });