Обнаружение функций для jquery 1.4 - PullRequest
1 голос
/ 10 февраля 2010

Как мне выполнить обнаружение, чтобы определить, является ли браузер браузером Firefox, т. Е. (Но не ie6), Opera, Chrome или Safari, с использованием функции обнаружения?

Ответы [ 3 ]

4 голосов
/ 10 февраля 2010

Функция обнаружения не должна сообщать вам, какой браузер использует пользователь. Он предназначен для того, чтобы сообщать вам, может ли браузер обрабатывать то, что вам нужно.

Так, например, если вам нужна поддержка ActiveX, вы можете проверить

if(ActiveXObject) { ... }

Это лучше, чем проверка, является ли браузер IE, потому что другой браузер (текущий или будущий) также может поддерживать ActiveX.

Более полезным примером может быть проверка текстового узла при обходе списка узлов.

if (!el.tagName || el.tagName != expectedTagName)
    el = el.nextSibling;    // skip the text node
0 голосов
/ 30 апреля 2013

Я искал ответ, думая, что, возможно, кто-то решил мою проблему. Как и многие, я написал свою собственную:

    try {
        if (ActiveXObject != undefined) {
            alert("we have activex");
    }
    }
    catch (err)
    {
        alert(err.message);
    }

Вы, конечно, захотите настроить свою реализацию. Мой пример просто показывает базовую логику. НТН!

0 голосов
/ 12 апреля 2010

Для Safari: я иду на серверную сторону, то есть используя Browser.php Криса Шульда; кроме агента пользователя http, очень мало документации по обнаружению функций Safari.

...