1

スクリプトで使用したいのですが、思い通りに$.browser動作しません。たとえば、Chromeではプロパティがsafariあり、にwebkit設定されていtrueます。

なぜこれが起こるのですか?

これがフィドルです。

4

2 に答える 2

3

この場合jQuery 1.7.2、このリリースでのフィドルの使用が次のようになっているために発生しました。

// Deprecated, use jQuery.browser.webkit instead
if ( jQuery.browser.webkit ) {
    jQuery.browser.safari = true;
}

両方のブラウザchromesafariはWebkitに基づいています。

ソリューション:

  1. jQueryを更新できます。このフィドルのように。
  2. 次のようなドキュメントからのアドバイスを使用できます。

    $.browser.chrome = navigator.userAgent.toLowerCase().indexOf('safari') > -1;
    $.browser.safari = ( $.browser.safari && /chrome/.test(navigator.userAgent.toLowerCase()) ) ? false : true;
    

ここで実際の動作を見ることができます。

于 2012-10-08T21:29:22.977 に答える
1

おそらく'それはChromeのユーザーエージェントの一部だからです。こちらをご覧ください: http ://www.useragentstring.com/pages/Chrome/

あなたがおそらく必要とするものは、このSO回答で答えられるかもしれません。

于 2012-10-08T21:29:14.967 に答える