По моему опыту, правила проверки редко универсальны через все экраны/формы/процессы в приложении. Сценарии как это распространены: на добавить странице это может быть хорошо для объекта Человека не иметь фамилию, но на странице редактирования это должно иметь фамилию. При этом я приехал, чтобы полагать, что проверка должна произойти за пределами объекта, или правила должны быть введены в объект, таким образом, правила могут измениться, учитывая контекст. Допустимый/Недопустимый должно быть явное состояние объекта после проверки или той, которая может быть получена путем проверки набора на неудавшиеся правила. Неудавшееся бизнес-правило не является исключением, по моему скромному мнению.
Have you tried doing it this way?
try {
var xhr = new XMLHttpRequest();
if ('onprogress' in xhr) {
// Browser supports W3C Progress Events
} else {
// Browser does not support W3C Progress Events
}
} catch (e) {
// Browser is IE6 or 7
}
I tested this in Firefox & IE8. Firefox shows it supports it. IE says it has no support for W3C Progress events.