项目作者: Shailu4u

项目描述 :
Query caniuse db and get all information related to browser compatibility
高级语言:
项目地址: git://github.com/Shailu4u/how-caniuse.git
创建时间: 2017-03-07T18:49:36Z
项目社区:https://github.com/Shailu4u/how-caniuse

开源协议:MIT License

下载


how-caniuse

Query the caniuse-db to check browsers compatibilities.

Installation

  1. $ npm install how-caniuse --save

Usage

  1. const howcaniuse = require('how-caniuse');
  2. howcaniuse.getCompleteDataset('border-image')
  3. howcaniuse.getSupport('border-image')
  4. howcaniuse.isSupported('border-image', 'ie 8, chrome 52')
  5. howcaniuse.searchFeature('css3')
  6. howcaniuse.getLatestStableBrowsers()
  7. howcaniuse.getBrowserScope

API

howcaniuse.getSupport(feature)

Find since which browsers versions a feature is available

  • y - (Y)es, supported by default
  • a - (A)lmost supported (aka Partial support)
  • n - (N)o support, or disabled by default
  • p - No support, but has (P)olyfill
  • u - Support (u)nknown
  • x - Requires prefi(x) to work
  • d - (D)isabled by default (need to enable flag or something in browser settings)
  1. howcaniuse.getSupport('css-grid')
  2. /*
  3. {
  4. "title":"CSS Grid Layout",
  5. "browsers":
  6. {
  7. "ie":{"n":8,"a":11,"x":11,"p":9},
  8. "edge":{"a":15,"x":15},
  9. "firefox":{"y":52,"n":18,"p":51,"d":51},
  10. "chrome":{"y":57,"n":24,"p":56,"d":56},
  11. "safari":{"y":"TP","n":5.1,"p":10},
  12. "opera":{"y":44,"n":27,"p":43,"d":43},
  13. "ios_saf":{"n":5.1,"p":10.2},
  14. "op_mini":{"n":"all"},
  15. "android":{"n":4.1,"p":53},
  16. "bb":{"n":10},
  17. "op_mob":{"n":12.1,"p":37},
  18. "and_chr":{"p":56},
  19. "and_ff":{"p":51},
  20. "ie_mob":{"a":11,"x":11},
  21. "and_uc":{"n":11},
  22. "samsung":{"p":4},
  23. "and_qq":{"p":1.2,"d":1.2}
  24. }
  25. }
  26. */

howcaniuse.isSupported(feature, browsers)

Find if a feature is supported by some browsers

  1. howcaniuse.isSupported('border-image', 'ie 8, ie 9, edge 14, chrome 58, firefox 50')
  2. /*
  3. { 'border-image':
  4. { 'ie 8': 'n',
  5. 'ie 9': 'n',
  6. 'edge 14': 'y',
  7. 'chrome 58': 'a',
  8. 'firefox 50': 'y' } }
  9. */

howcaniuse.searchFeature(feature)

Search for a caniuse feature name and it returns list of all available features

Ex:

  1. howcaniuse.searchFeature('border') // [ 'border-image', 'border-radius' ]
  2. howcaniuse.searchFeature('xyz') // [] returns an empty array if there are no results
  3. howcaniuse.searchFeature('font')
  4. /*
  5. [ 'fontface',
  6. 'font-feature',
  7. 'svg-fonts',
  8. 'font-loading',
  9. 'font-unicode-range',
  10. 'css-font-stretch',
  11. 'font-size-adjust',
  12. 'font-smooth',
  13. 'font-kerning',
  14. 'font-variant-alternates',
  15. 'css-font-rendering-controls' ]
  16. */

howcaniuse.getLatestStableBrowsers()

Get the list of all stable browsers

  1. howcaniuse.getLatestStableBrowsers()
  2. /*
  3. [ { browser: 'IE', type: 'desktop', stableVersion: '11' },
  4. { browser: 'Edge', type: 'desktop', stableVersion: '15' },
  5. { browser: 'Firefox', type: 'desktop', stableVersion: '54' },
  6. { browser: 'Chrome', type: 'desktop', stableVersion: '59' },
  7. { browser: 'Safari', type: 'desktop', stableVersion: 'TP' },
  8. { browser: 'Opera', type: 'desktop', stableVersion: '45' },
  9. { browser: 'iOS Safari', type: 'mobile', stableVersion: '10.0-10.2' },
  10. { browser: 'Opera Mini', type: 'mobile', stableVersion: 'all' },
  11. { browser: 'Android Browser', type: 'mobile', stableVersion: '53' },
  12. { browser: 'Blackberry Browser', type: 'mobile', stableVersion: '10' },
  13. { browser: 'Opera Mobile', type: 'mobile', stableVersion: '37' },
  14. { browser: 'Chrome for Android', type: 'mobile', stableVersion: '56' },
  15. { browser: 'Firefox for Android', type: 'mobile', stableVersion: '51' },
  16. { browser: 'IE Mobile', type: 'mobile', stableVersion: '11' },
  17. { browser: 'UC Browser for Android', type: 'mobile', stableVersion: '11' },
  18. { browser: 'Samsung Internet', type: 'mobile', stableVersion: '4' },
  19. { browser: 'QQ Browser', type: 'mobile', stableVersion: '1.2' } ]
  20. */

howcaniuse.getBrowserScope()

Returns a list of all browsers available out there

  1. howcaniuse.getBrowserScope()
  2. /*
  3. [ { browser: 'IE',
  4. prefix: 'ms',
  5. type: 'desktop',
  6. versions: [ '5.5', '6', '7', '8', '9', '10', '11' ] },
  7. { browser: 'Edge',
  8. prefix: 'ms',
  9. type: 'desktop',
  10. versions: [ '12', '13', '14', '15' ] },
  11. ....
  12. */

License