JS1K

#2: the original

Source for demo by Ken Snyder.

d=document,w=window,e=/\S+/g,p="prototype",A="Array.",z="video",n="input";function c(k){r(eval(k),k)}d.body.innerHTML="<h2>Browser Features</h2>";function r(a,b){d.write("<br>"+b+": "+(!!a?"<b>YES</b>":"no"))}function v(a){r(d.createElement(z).canPlayType(z+"/"+a),z+" - "+a)}v("mp4");v("webm");v("ogg");i=d.createElement("input");"search number range color tel url email date month week time datetime datetime-local".replace(e,function(a){i.setAttribute("type",a);r(i.type!="text",n+" type="+a)});y="placeholder";r(y in i,n+" "+y);"every some forEach map filter reduce reduceRight".replace(e,function(a){c(A+p+"."+a)});c(A+"isArray");"create defineProperty defineProperties getPrototypeOf keys seal freeze getOwnPropertyDescriptor getOwnPropertyNames".replace(e,function(a){c("Object."+a)});c("Function."+p+".bind");c("String."+p+".trim");r(w.postMessage,"X-Window Msg.");m="WebSocket";r(m in w,m);m="sessionStorage";r(m in w,m);r(w.Worker,"Web Workers");r(w.applicationCache,"Offline Apps");m="localStorage";r(m in w,m)