как определить, является ли браузер chrome с помощью jquery?

<p>у меня есть небольшая проблема с функцией, работающей в chrome, которая работает правильно в safari, в обоих браузерах webkit ...</p><p>мне нужно настроить переменную в функции для chrome, но не для safari.</p><p>к сожалению, я использовал это, чтобы определить, является ли это браузером webkit:</p><pre><code>if ($.browser.webkit) { но мне нужно обнаружить:if ($.browser.chrome) { </code></pre><p>есть ли способ написать подобное утверждение (рабочая версия приведенного выше)?</p>

<pre><code>$.browser.chrome = /chrom(e|ium)/.test(navigator.useragent.tolowercase()); if($.browser.chrome){ ............ } </code></pre><p><strong>обновление: (10x до @mr. bacciagalupe)</strong></p><p>jquery удалил <code>$.browser из <strong>1.9</strong> и их последнюю версию. но вы все равно можете использовать $ .browser в качестве отдельного плагина, найденного <a href="https://github.com/gabceb/jquery-browser-plugin">здесь</a> </p>

<pre><code>if(/chrom(e|ium)/.test(navigator.useragent.tolowercase())){ alert('i am chrome'); } </code></pre>

<p>пользователь endless прав, </p><pre><code>$.browser.chrome = (typeof window.chrome === "object"); код лучше всего определять браузером chrome с помощью jquery.если вы используете ie и добавили googleframe в качестве плагина, тогда var is_chrome = /chrome/.test( navigator.useragent.tolowercase() ); код будет восприниматься как браузер chrome, потому что плагин googleframe изменяет свойство навигатора и добавляет в него chromeframe.

useragent может быть изменен. для большей надежности используйте глобальную переменную, указанную в chrome$.browser.chrome = (typeof window.chrome === "object"); </code></pre>

<pre><code>var is\_chrome = /chrome/.test( navigator.useragent.tolowercase() ); </code></pre>

<p>к сожалению, из-за последнего обновления opera <code>!!window.chrome</code> (и других тестов на объекте окна), когда тестирование в opera возвращает true.</p><p>conditionizr позаботится об этом за вас и решит проблему opera:</p><pre><code>conditionizr.add('chrome', [], function () { return !!window.chrome && !/opera|opr/i.test(navigator.useragent); }); </code></pre><p>я настоятельно рекомендую использовать его, так как ни один из вышеперечисленных не является действительным.</p><p>это позволяет вам делать:</p><pre><code>if (conditionizr.chrome) {...} </code></pre><p> <a href="http://conditionizr.com">conditionizr</a> заботится о других обнаружениях браузера и работает намного быстрее и надежнее, чем взломы jquery.</p>

<p>в качестве быстрого дополнения, и я удивлен, что никто не подумал об этом, вы можете использовать оператор <code>in</code>:</p><pre><code>"chrome" in window </code></pre><p>очевидно, что это не использует jquery, но я решил, что я бы сказал, потому что это удобно для тех случаев, когда вы не используете какие-либо внешние библиотеки.</p>

<p>хотя это не jquery, я сам использую jquery, но для обнаружения в браузере я несколько раз использовал скрипт на <a href="http://www.quirksmode.org/js/detect.html">этой странице</a> . он обнаруживает все основные браузеры, <em>, а затем некоторые</em>. работа в основном сделана для вас. </p>

<p>когда я проверяю ответ @ie, я всегда получаю «правду». лучший способ это то, что работает также @ie:</p><pre><code>var ischrome = /chrome/.test(navigator.useragent) && /google inc/.test(navigator.vendor); </code></pre><p>как описано в этом ответе: <a href="https://stackoverflow.com/a/4565120/1201725">https://stackoverflow.com/a/4565120/1201725</a> </p>

<pre><code>if(navigator.vendor.indexof('goog') > -1){ //your code here } </code></pre>