2012-05-18 3 views
1

Я использую функцию обнаружения браузера jquery, чтобы предупредить другое значение в разных браузерах, но похоже, что это конфликт с сафари и хром. они оба предупреждают о том же значении. эта функция работает отлично во всех браузерах, но проблема только с сафари и хром. заранее спасибо.браузер обнаружения jquery?

<script type="text/javascript"> 

$(function(){ 

    var m= $.browser; 


    if(m.webkit) { 

     alert('chorme') 

     } 


    else if(m.safari) { 

     alert('safari') 

     } 

    else {alert('bye bye')} 


    }) 



</script> 
+0

сафари depricated – thecodeparadox

+0

поэтому нет никакого решения для тат – Carlos

+0

я чувствую желание процитировать документы, когда они говорят: «Мы рекомендуем используя это свойство, попробуйте использовать функцию обнаружения ... » – Sampson

ответ

4

Safari и Chrome используют тот же движок рендеринга Webkit. Сначала найдите Safari, затем другие браузеры Webkit. В действительности нет причин различать их в реалистичном сценарии; они будут практически одинаково отображать веб-страницы практически в каждом случае.

Если вам необходимо разделить их, тем не менее, попробуйте следующее:

$.browser.safari &= !/chrome/.test(navigator.userAgent.toLowerCase()); 

if (m.safari) { 
    alert('safari') 
} else if (m.webkit) { 
    alert('chorme') 
} 
+0

не работает с этого пути. я проверил его – Carlos

+0

Должен работать сейчас. – Blender

+0

Я не нахожусь на своем mac сейчас, чтобы проверить его, но теперь он отлично выглядит. –

0

Вы можете попробовать этот код:

$.browser 

дает тот же результат для сафари и WebKit.

Check the doc for $.browser

Таким образом, вы можете попробовать here для вашего решения, но не Jquery

+0

как использовать этот метод можете отправить мне пример – Carlos

+0

@amit вы можете попробовать мой код, сначала проверьте вывод в консоли –

+0

@thecodeparadox вещь такова, что m .webkit будет действителен как для хрома, так и для сафари, так что это не сработает. Кроме того, свойства навигатора ненадежны, так как вы можете увидеть тестирование в хроме, например, appCodeName возвращает Mozilla. Все свойства могут быть протестированы [здесь] (http://www.w3schools.com/js/tryit.asp?filename=try_nav_all) –

Смежные вопросы