Самый короткий метод суждения IE, оригинальный адрес: //www.vevb.com/article/23621.htm
Как судить самый короткий браузер IE: var isie =!-[1,]
Принцип: [1,] возвращает «1» в стандартном браузере, который эквивалентен призыву [1,]. ToString () и возвращает «1», IE
При использовании отрицательного знака к номеру для возвращаемого значения стандартный браузер возвращает 1, а IE возвращает NAN.
Когда 1 и NAN обратно перенаправлены, стандартный браузер возвращает False и IE возвращает True.
JS определяет тип браузера
В основном нет проблем с исходным текстом, но его метод суждения не очень строгий.
Например: navigator.useragent.indexof ("safari")> 0, если в передней части пользовательского агента появляется слово «сафари», невозможно получить правильный результат. Это должно быть изменено на! =-1
Затем я проверил существующие 5 независимых браузеров ядра на своей машине и обнаружил, что значение Opera пользователя составляет "Opera/9.80 (Windows NT 5.1; U; Ed ..."
Это просто подтверждает то, что я только что сказал.
На самом деле, большую часть времени, когда мы делаем совместимость с браузером, мы в основном нацелены на IE и браузеры, не являющиеся браузерами, что означает, что в целом нам нужно только определить, является ли это браузером IE.
Определите текущий код типа браузера
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
<!-
Функция getos ()
{
var osobject = "";
if (isie = navigator.useragent.indexof ("msie")! =-1) {
вернуть "msie";
}
if (isfirefox = navigator.useragent.indexof ("firefox")! =-1) {
вернуть "Firefox";
}
if (ischrome = navigator.useragent.indexof ("chrome")! =-1) {
вернуть "хром";
}
if (issafari = navigator.useragent.indexof ("safari")! =-1) {
вернуть "Сафари";
}
if (isopera = navigator.useragent.indexof ("opera")! =-1) {
вернуть "Opera";
}
}
Alert ("type ->"+getos ());
->
</script>