2

$ .browserがjQueryの1.9から削除されたので、ブラウザーを検出する同様の方法を探していますか?

phpのget_browerを使おうとしましたが、常に「デフォルトブラウザ」として返されました。

更新:jquery.supportを調べましたが、有用な情報が提供されませんでした

4

5 に答える 5

3

のドキュメント$.browserから:

代わりに機能検出を使用してください(jQuery.supportを参照)

于 2013-02-26T16:39:59.963 に答える
0
<?php 
 echo $_SERVER['HTTP_USER_AGENT'];
?> 

次に、caseまたはifを選択するか、必要な結果を正規表現します。

于 2013-02-26T16:45:40.793 に答える
0

ご指摘のとおり、userAgentの検索は信頼できない場合があります。しかし、基本的には、機能検出を使用したくない場合は、これを行う必要があります。残りはすでにここで言われています

于 2013-02-26T16:48:33.133 に答える
0

私もjQueryの$.browser検出が恋しいです。$ .supportの方が多くの場合に意味があることは理解していますが、最初はブラウザー検出を使用してcssプレフィックスプロパティを取得しました。これは、3つのプレフィックスすべてを使用する代わりに、条件付きスタイルを適用する場合に意味があります。または、IEのバージョンのみに基づくIE6-9の-pie-プレフィックスを追加することもできます。

これが私が使用する関数のモデルであり、jQueryの非推奨の$.browserを採用したものです。

nav = navigation;
nav.detectBrowser = function() {
var t = this,
    a = this.userAgent.toLowerCase(),
    match = /(chrome)[ \/]([\w.]+)/.exec(a) ||
    /(webkit)[ \/]([\w.]+)/.exec(a) ||
    /(firefox)[ \/]([\w.]+)/.exec(a) ||
    /(msie) ([\w.]+)/.exec(a) ||
    /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) ||
    a.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || [];

t.browser = match[1] || false;
t.version = match[2] || "0";
if (t.browser) t[match[1]] = true;
if (t.msie)
    t.ie = parseInt(t.version);//ie main version or false if not IE
else if (t.chrome)
    t.webkit = true;//chrome is webkit
else if (t.webkit)
    t.safari = true;
    t.pre = t.webkit ? '-webkit-' : t.firefox ? '-moz-' : t.ie > 7
        ? '-ms-' : t.opera ? '-o-' : '';//css prefix
}
nav.detectBrowser();

例としてwindow.navigationグローバルオブジェクトを使用していることに注意してください。ここで、古い$.browserオブジェクトは「nav」または「window.nav」になります。nav.preはcss3機能のブラウザプレフィックスであり、nav.ieはIEの場合はInternetExplorerバージョンの整数です。

于 2013-04-13T10:33:13.803 に答える
-1

次のようにInternetExplorerを検出できます。

<!--[if IE]>
<![endif]-->

モバイルブラウザは、次のツールで検出できます:http: //detectmobilebrowsers.com/

于 2013-02-26T16:49:16.793 に答える