2011-02-01 16 views
0

こんにちは
JavaScriptで、以下のコード(PHP)のような同じ機能を実行するにはどうすればよいですか?JavaScript - JavaScriptからCSSファイル/ CSSコードを呼び出す

​​
+1

あなたの探しているものに応じて、以下のような良い回答がたくさんあります。私はあなたの質問をもっと明確にすれば、正しい答えを選ぶほうが簡単だろうと思っています。 (なぜ、特定のブラウザを検出する必要があるのですか?代わりに、ジオロケーションまたはローカルストレージなどのブラウザ機能を検出したいのですか?) – Moses

+0

多くの人々が存在するため、ブラウザ/バージョンの検出から離れていく人が増えていますこれらの機能をすべてのブラウザでサポートして追跡したいと思っています。代わりに機能の検出を使用する方が良いです。 jQueryはしばらく前にこの方向を変えました。 –

答えて

0

あなたが追加されたクラスを利用するには、あなたのCSSコードを修正するための特徴検出を行うためにModernizrスクリプトを使用します。

+0

AndroidやiPhoneなどの携帯電話で動作しますか? –

+1

Modernizrは異なるアプローチをとっています。現在のブラウザに機能と一致するブラウザのデータベースを保持するのではなく、特定の機能があるかどうかを調べる。特定のブラウザを識別するために探している場合、Modernizrはあなたのために動作しません。ブラウザに関係なく特定の機能を利用したい場合は、うまく機能します。 –

0
if (navigator.userAgent.indexOf('Chrome') > -1) 
    document.write("<style type=\"text/css\">h1 { color: red; }</style>"); 

他の変形、クロム検出のための短い

navigator.userAgent.indexOf('Chrome') > -1 ? 
     document.write("<style type=\"text/css\">h1 { color: red; }</style>") : ""; 
+0

正確には同名ですが、navigatorのユーザエージェント検出のような実際に悪い習慣をupvoteするために私の中で見つけることができません。 –

+0

あなたは書いています。ブラウザの検出を覚えている限り、それはオーバーライドできるヘッダーに基づいているため、少し不確実です。 – Bakudan

0

SMAオンrtphoneブラウザでは、ブラウザのバージョンがjavascript/cssとは異なっているため、状況は少し複雑です。例えばアンドロイドブラウザは、アンドロイドos 2.0までhtml5をサポートしていませんし、それ以降のバージョンではhtml5ビデオタグをサポートしていますが、オーディオタグはサポートしていません。同様に、モバイルサファリにもバリエーションがあります。だから最善の方法は、ユーザーエージェントの文字列を見て、osのバージョン/プラットフォーム/ OSのためにそれを解析し、それに応じて行動する。私はブラウザのユーザーエージェントからいくつかの情報を取得する小さな関数を書いた。

var agentInfo=(function(){ 
    var info={}, 
    ua=navigator.userAgent.split(/[()]/)[1].split(/;/); 
    info.platform=ua[0] && ua[0].toLowerCase(); 
    info.version=ua[2] && ua[2].match(/[0-9._]+/g)[0]; 
    info.os=ua[2] && (temp=ua[2].match(/[^0-9_.]+/g)[0].toLowerCase()) && (temp=/(windows)|(linux)|(mac)|(iphone)|(android)/.exec(temp)) && temp[0]; 
    return info; 
})();
os/platform/versionに基づいて、適切なCSSを書くことができます。

関連する問題