vanilla.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. var Modernizr = window.Modernizr;
  2. /* eslint-disable no-unused-vars */
  3. var tests = {
  4. standalone: {
  5. applicationcache: Modernizr.applicationcache,
  6. audio: Modernizr.audio,
  7. battery: Modernizr.batteryapi,
  8. blob: Modernizr.blobconstructor,
  9. canvas: Modernizr.canvas,
  10. canvastext: Modernizr.canvastext,
  11. contenteditable: Modernizr.contenteditable,
  12. contentsecuritypolicy: Modernizr.contentsecuritypolicy,
  13. contextmenu: Modernizr.contextmenu,
  14. cookies: Modernizr.cookies,
  15. cors: Modernizr.cors,
  16. 'custom-protocol-handler': Modernizr.customprotocolhandler,
  17. dart: Modernizr.dart,
  18. 'dataview-api': Modernizr.dataview,
  19. draganddrop: Modernizr.draganddrop,
  20. emoji: Modernizr.emoji,
  21. 'exif-orientation': Modernizr.exiforientation,
  22. flash: Modernizr.flash,
  23. 'fullscreen-api': Modernizr.fullscreen,
  24. gamepad: Modernizr.gamepads,
  25. geolocation: Modernizr.geolocation,
  26. hashchange: Modernizr.hashchange,
  27. history: Modernizr.history,
  28. ie8compat: Modernizr.ie8compat,
  29. indexedDB: Modernizr.indexeddb,
  30. input: Modernizr.input,
  31. inputsearchevent: Modernizr.search,
  32. inputtypes: Modernizr.inputtypes,
  33. intl: Modernizr.Intl,
  34. json: Modernizr.json,
  35. 'lists-reversed': Modernizr.olreversed,
  36. mathml: Modernizr.mathml,
  37. notification: Modernizr.notification,
  38. 'pagevisibility-api': Modernizr.pagevisibility,
  39. performance: Modernizr.performance,
  40. pointerevents: Modernizr.pointerevents,
  41. 'pointerlock-api': Modernizr.pointerlock,
  42. postmessage: Modernizr.postmessage,
  43. 'quota-management-api': Modernizr.quotamanagement,
  44. requestanimationframe: Modernizr.requestanimationframe,
  45. serviceworker: Modernizr.serviceworker,
  46. svg: Modernizr.svg,
  47. touchevents: Modernizr.touchevents,
  48. 'typed-arrays': Modernizr.typedarrays,
  49. 'unicode-range': Modernizr.unicoderange,
  50. unicode: Modernizr.unicode,
  51. userdata: Modernizr.userdata,
  52. vibration: Modernizr.vibrate,
  53. video: Modernizr.video,
  54. vml: Modernizr.vml,
  55. 'web-intents': Modernizr.webintents,
  56. webanimations: Modernizr.animation,
  57. webgl: Modernizr.webgl,
  58. websockets: Modernizr.websockets,
  59. },
  60. a: {
  61. download: Modernizr.adownload,
  62. },
  63. audio: {
  64. loop: Modernizr.audioloop,
  65. preload: Modernizr.audiopreload,
  66. webaudio: Modernizr.webaudio,
  67. },
  68. battery: {
  69. lowbattery: Modernizr.lowbattery,
  70. },
  71. canvas: {
  72. todataurl: [
  73. Modernizr['todataurljpeg'],
  74. Modernizr['todataurlpng'],
  75. Modernizr['todataurlwebp'],
  76. ],
  77. },
  78. crypto: {
  79. getrandomvalues: Modernizr.getrandomvalues,
  80. },
  81. css: {
  82. animations: Modernizr.cssanimations,
  83. backgroundcliptext: Modernizr.backgroundcliptext,
  84. 'backgroundposition-shorthand': Modernizr.bgpositionshorthand,
  85. 'backgroundposition-xy': Modernizr.bgpositionxy,
  86. backgroundrepeat: [
  87. Modernizr['bgrepeatspace'],
  88. Modernizr['bgrepeatround'],
  89. ],
  90. backgroundsize: Modernizr.backgroundsize,
  91. backgroundsizecover: Modernizr.bgsizecover,
  92. borderimage: Modernizr.borderimage,
  93. borderradius: Modernizr.borderradius,
  94. boxshadow: Modernizr.boxshadow,
  95. boxsizing: Modernizr.boxsizing,
  96. calc: Modernizr.csscalc,
  97. checked: Modernizr.checked,
  98. columns: Modernizr.csscolumns,
  99. cubicbezierrange: Modernizr.cubicbezierrange,
  100. displayrunin: Modernizr['display-runin'],
  101. displaytable: Modernizr.displaytable,
  102. ellipsis: Modernizr.ellipsis,
  103. escape: Modernizr.cssescape,
  104. filters: Modernizr.cssfilters,
  105. flexbox: Modernizr.flexbox,
  106. flexboxlegacy: Modernizr.flexboxlegacy,
  107. flexboxtweener: Modernizr.flexboxtweener,
  108. flexwrap: Modernizr.flexwrap,
  109. fontface: Modernizr.fontface,
  110. generatedcontent: Modernizr.generatedcontent,
  111. gradients: Modernizr.cssgradients,
  112. hsla: Modernizr.hsla,
  113. hyphens: [
  114. Modernizr['csshyphens'],
  115. Modernizr['softhyphens'],
  116. Modernizr['softhyphensfind'],
  117. ],
  118. lastchild: Modernizr.lastchild,
  119. mask: Modernizr.cssmask,
  120. mediaqueries: Modernizr.mediaqueries,
  121. multiplebgs: Modernizr.multiplebgs,
  122. nthchild: Modernizr.nthchild,
  123. objectfit: Modernizr.objectfit,
  124. opacity: Modernizr.opacity,
  125. 'overflow-scrolling': Modernizr.overflowscrolling,
  126. pointerevents: Modernizr.csspointerevents,
  127. positionsticky: Modernizr.csspositionsticky,
  128. pseudoanimations: Modernizr.csspseudoanimations,
  129. pseudotransitions: Modernizr.csspseudotransitions,
  130. reflections: Modernizr.cssreflections,
  131. regions: Modernizr.regions,
  132. remunit: Modernizr.cssremunit,
  133. resize: Modernizr.cssresize,
  134. rgba: Modernizr.rgba,
  135. scrollbars: Modernizr.cssscrollbar,
  136. shapes: Modernizr.shapes,
  137. siblinggeneral: Modernizr.siblinggeneral,
  138. subpixelfont: Modernizr.subpixelfont,
  139. supports: Modernizr.supports,
  140. target: Modernizr.target,
  141. textshadow: Modernizr.textshadow,
  142. transforms: Modernizr.csstransforms,
  143. transforms3d: Modernizr.csstransforms3d,
  144. transformstylepreserve3d: Modernizr.preserve3d,
  145. transitions: Modernizr.csstransitions,
  146. userselect: Modernizr.userselect,
  147. vhunit: Modernizr.cssvhunit,
  148. vmaxunit: Modernizr.cssvmaxunit,
  149. vminunit: Modernizr.cssvminunit,
  150. vwunit: Modernizr.cssvwunit,
  151. wrapflow: Modernizr.wrapflow,
  152. },
  153. dom: {
  154. classlist: Modernizr.classlist,
  155. 'createElement-attrs': [
  156. Modernizr['createelementattrs'],
  157. Modernizr['createelement-attrs'],
  158. ],
  159. dataset: Modernizr.dataset,
  160. documentfragment: Modernizr.documentfragment,
  161. microdata: Modernizr.microdata,
  162. },
  163. elem: {
  164. datalist: Modernizr.datalistelem,
  165. details: Modernizr.details,
  166. output: Modernizr.outputelem,
  167. 'progress-meter': [
  168. Modernizr['progressbar'],
  169. Modernizr['meter'],
  170. ],
  171. ruby: Modernizr.ruby,
  172. template: Modernizr.template,
  173. time: Modernizr.time,
  174. track: [
  175. Modernizr['texttrackapi'],
  176. Modernizr['track'],
  177. ],
  178. },
  179. es5: {
  180. array: Modernizr.es5array,
  181. date: Modernizr.es5date,
  182. function: Modernizr.es5function,
  183. object: Modernizr.es5object,
  184. strictmode: Modernizr.strictmode,
  185. string: Modernizr.es5string,
  186. },
  187. es6: {
  188. contains: Modernizr.contains,
  189. promises: Modernizr.promises,
  190. },
  191. event: {
  192. 'deviceorientation-motion': [
  193. Modernizr['devicemotion'],
  194. Modernizr['deviceorientation'],
  195. ],
  196. oninput: Modernizr.oninput,
  197. },
  198. file: {
  199. api: Modernizr.filereader,
  200. filesystem: Modernizr.filesystem,
  201. },
  202. forms: {
  203. capture: Modernizr.capture,
  204. fileinput: Modernizr.fileinput,
  205. fileinputdirectory: Modernizr.directory,
  206. formattribute: Modernizr.formattribute,
  207. 'inputnumber-l10n': Modernizr.localizednumber,
  208. placeholder: Modernizr.placeholder,
  209. requestautocomplete: Modernizr.requestautocomplete,
  210. speechinput: Modernizr.speechinput,
  211. validation: Modernizr.formvalidation,
  212. },
  213. iframe: {
  214. sandbox: Modernizr.sandbox,
  215. seamless: Modernizr.seamless,
  216. srcdoc: Modernizr.srcdoc,
  217. },
  218. img: {
  219. apng: Modernizr.apng,
  220. jpegxr: Modernizr.jpegxr,
  221. srcset: Modernizr.srcset,
  222. 'webp-alpha': Modernizr.webpalpha,
  223. 'webp-animation': Modernizr.webpanimation,
  224. 'webp-lossless': [
  225. Modernizr['webplossless'],
  226. Modernizr['webp-lossless'],
  227. ],
  228. webp: Modernizr.webp,
  229. },
  230. input: {
  231. formaction: Modernizr.inputformaction,
  232. formenctype: Modernizr.inputformenctype,
  233. },
  234. network: {
  235. connection: Modernizr.lowbandwidth,
  236. eventsource: Modernizr.eventsource,
  237. 'xhr-responsetype-arraybuffer': Modernizr.xhrresponsetypearraybuffer,
  238. 'xhr-responsetype-blob': Modernizr.xhrresponsetypeblob,
  239. 'xhr-responsetype-document': Modernizr.xhrresponsetypedocument,
  240. 'xhr-responsetype-json': Modernizr.xhrresponsetypejson,
  241. 'xhr-responsetype-text': Modernizr.xhrresponsetypetext,
  242. 'xhr-responsetype': Modernizr.xhrresponsetype,
  243. xhr2: Modernizr.xhr2,
  244. },
  245. script: {
  246. async: Modernizr.scriptasync,
  247. defer: Modernizr.scriptdefer,
  248. },
  249. speech: {
  250. 'speech-recognition': Modernizr.speechrecognition,
  251. 'speech-synthesis': Modernizr.speechsynthesis,
  252. },
  253. storage: {
  254. localstorage: Modernizr.localstorage,
  255. sessionstorage: Modernizr.sessionstorage,
  256. websqldatabase: Modernizr.websqldatabase,
  257. },
  258. style: {
  259. scoped: Modernizr.stylescoped,
  260. },
  261. svg: {
  262. asimg: Modernizr.svgasimg,
  263. clippaths: Modernizr.svgclippaths,
  264. filters: Modernizr.svgfilters,
  265. inline: Modernizr.inlinesvg,
  266. smil: Modernizr.smil,
  267. },
  268. textarea: {
  269. maxlength: Modernizr.textareamaxlength,
  270. },
  271. url: {
  272. 'data-uri': Modernizr.datauri,
  273. },
  274. video: {
  275. autoplay: Modernizr.videoautoplay,
  276. loop: Modernizr.videoloop,
  277. preload: Modernizr.videopreload,
  278. },
  279. webgl: {
  280. extensions: Modernizr.webglextensions,
  281. },
  282. webrtc: {
  283. getusermedia: Modernizr.getusermedia,
  284. peerconnection: Modernizr.peerconnection,
  285. },
  286. websockets: {
  287. binary: Modernizr.websocketsbinary,
  288. },
  289. window: {
  290. framed: Modernizr.framed,
  291. },
  292. workers: {
  293. blobworkers: Modernizr.blobworkers,
  294. dataworkers: Modernizr.dataworkers,
  295. sharedworkers: Modernizr.sharedworkers,
  296. webworkers: Modernizr.webworkers,
  297. },
  298. };