[英]Modernizr and Video.h264
我正在研究Modernizr如何检测到对Video和H.264的支持,但对我来说没有任何意义。 bool
不是原始布尔值吗? 为什么它变成布尔对象? 为什么bool.h264神奇地开始变得毫无意义? 谢谢
tests['video'] = function() {
var elem = document.createElement('video'),
bool = false;
// IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224
try {
if ( bool = !!elem.canPlayType ) {
bool = new Boolean(bool);
bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,'');
// Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546
bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,'');
bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,'');
}
} catch(e) { }
return bool;
};
我实际上写了该测试的大部分内容。
那只是Modernizr遵循的用于检测子值的格式。 在JavaScript中,一切都是对象,新的Boolean也是如此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.