我试图找出如何确定哪个DRM系统浏览器正在使用.事实上,只有chrome说使用'com.widevine.alpha',其中IE&Safari(Win)在'requestMediaKeySystemAccess'上抛出错误,而firefox甚至没有尝试说它使用'com.adobe.acccess'=]
function isKeySystemSupported(keySystem) {
var dfd = Q.defer();
console.log('check: ', keySystem);
navigator.requestMediaKeySystemAccess(keySystem, [{contentType: 'video/webm; codecs="vp9"'}]).then(function() {
dfd.resolve(true);
}, function() { dfd.resolve(false); } );
return dfd.promise;
}
Run Code Online (Sandbox Code Playgroud)
是否有任何解决方案,如Modernizr或类似的解决方案,我应该使用哪个keySystem?
我正在尝试创建验证,它可以有两个组并在第一次失败时阻止第二次验证(它包含许多规则).
现在我确实在内部和'main validator'中创建了一个私有的"BasicValidation"类,如下所示:
RuleFor(m => m).SetValidator(new BasicValidation()).DependentRules(() => {
//Complex validation
RuleFor(m => m.IdOfSthInDb)
.MustAsync(ItemMustExists)
.WithMessage("Item does not exist.");
});
Run Code Online (Sandbox Code Playgroud)
这样做但我想避免为每个模型创建'BasicValidation'.
我创建了带有引用类型和属性的静态数组的struct,它通过存储在struct中的唯一id从该数组获取对象 - 但我不知道它有任何意义,我想在堆栈上存储struct.
struct TestStruct
{
static TestClass[] Instances = new TestClass[16];
int uid; //max value = 15
TestClass Instance
{
get { return Instances[uid]; }
}
}
Run Code Online (Sandbox Code Playgroud)