0

gecko、opera、msie、webkitなどを独自の追加のスタイルシートにポイントするための現在のベストプラクティスは何ですか?

ブラウザのスニッフィングが出ていますか?私がオンラインで見つけているもののほとんどは、2008年の古い投稿、または正しいか間違っているか、または使用方法などに関する理論的な議論です。

これに使用できるより洗練されたものが必要です。(疑似コード)、「IF moz、@ import url(moz.css)」などのjqueryまたはphp。

4

2 に答える 2

0

ユーザーエージェントからブラウザーを検出し、そのブラウザーに適した CSS を組み込みます。

$browser = get_browser($_SERVER['HTTP_USER_AGENT'], true);

switch ($browser['browser']) {
    case "IE": //load ie specific css
                break;
    case "Firefox":
    case "Mozilla":   //load gecko specific css
        break;

    case "Safari":  //load safari css
           break;
    case "Opera": //load opera css
          break;

    default:
        echo '<link href="default.css" rel="stylesheet" type="text/css" />';
}

get_browser() 関数の詳しい記事はこちらです。

于 2012-11-24T07:23:13.510 に答える
0

特定のブラウザーを検出することは、バージョンによって異なる機能を備えている可能性があるため、お勧めできません。より良い解決策は、Modernizrのようなものを使用してfeaturesを検出し、それに応じてスタイルを設定することです。

なんらかの理由で異なるレンダリング エンジンを検出する必要がある場合、PHP では次のbrowser_info()メソッドを使用すると比較的簡単です。

<head>
    ...
    <!-- Stylesheets for all browsers -->
    <link rel="stylesheet" href="style.css" />

    <?php
    $browser    = get_browser(null, true);

    switch($browser['browser']){
        case 'Firefox':
            // User is using Firefox
            $style  = 'firefox.css';
            break;

        case 'Safari':
            // User is using Safari
            $style  = 'safari.css';
            break;
    }

    if(isset($style)){
        // Specific browser stylesheet set - add to page
        ?>
        <link rel="stylesheet" href="<?php echo $style;?>" />
    <?php } ?>
</head>
于 2012-11-24T07:23:39.043 に答える