OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

スタイルシート

  • 困ってます
  • 質問No.167671
  • 閲覧数37
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 35% (5/14)

JavaScriptで、ユーザーエージェント別に読みこむCSSを変えたいのですがインターネット上にそういうスクリプトがありません。

具体的には、IE5.5以上とN6以上はstandard.cssを読みこみ、IE5以下やNN4.xはCSSを"読みこまない"というようにするのはどうすればいいのかよくわかりません。

よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル10

ベストアンサー率 67% (70/103)

スクリプトではないんですが(しかもNetscape4.x対策のみですが)。 Netscape4.xは@mediaにscreen以外を指定すると、その部分を丸々無視しちゃういことを利用して、スタイルシートを書くときに @media screen, print { <ここにスタイルを書く> } とやれば、このスタイルはNetscape4.xでは適用されません(@mediaがサポートされて ...続きを読む
スクリプトではないんですが(しかもNetscape4.x対策のみですが)。

Netscape4.xは@mediaにscreen以外を指定すると、その部分を丸々無視しちゃういことを利用して、スタイルシートを書くときに

@media screen, print {
<ここにスタイルを書く>
}

とやれば、このスタイルはNetscape4.xでは適用されません(@mediaがサポートされているブラウザ、IE5.5、IE6、Netscape6などでは画面表示と印刷の時に適用されます)。

実際には、Netscape4.xでも問題なく動作するスタイルは@mediaの外に書き(これは他のブラウザでも有効)、Netscape4.xでは上手く動作しないものを@mediaの中に入れてやるとよいでしょう。

body {background-color:#D3D3D3;color:#000000 }
@media screen, print {
body {background:#FFFFFF url('clie.gif') no-repeat;color:#000000}
}

上の例は一旦背景色と文字色を与えておいて、@mediaでNetscape4.x以外に別の背景色と背景画像を与えています。実際にどう変わるかは参考URLを見て確認して見てください。

  • 回答No.2
レベル1

ベストアンサー率 0% (0/0)

ちょっと長いですが,こんなものを書いてみました。 あんまりいろいろ見ずに書いたから,どこか間違ってるかも。 表示上,変なところで改行されちゃってるかもしれないので, 気をつけてくださいね。 ・・・って,もう解決してたりして。 念のため全角の"<"や">"で書いていますので,半角に直してください。 ~~~~~~~~~~~~~ <HTML> <H ...続きを読む
ちょっと長いですが,こんなものを書いてみました。
あんまりいろいろ見ずに書いたから,どこか間違ってるかも。
表示上,変なところで改行されちゃってるかもしれないので,
気をつけてくださいね。
・・・って,もう解決してたりして。
念のため全角の"<"や">"で書いていますので,半角に直してください。

~~~~~~~~~~~~~

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--

// このへんから
var Navi = navigator.appName;
alert(Navi.charAt(0));
if (Navi.charAt(0) == 'M'){
document.write(' <link REL="StyleSheet" TYPE="text/css" href="test1.css">');
}
else if (Navi.charAt(0) == 'N') {
document.write(' <link REL="StyleSheet" TYPE="text/css" href="test2.css">');
}
// このへんまで


//-->
</SCRIPT>

</HEAD>
<BODY>
<P>test</P>

<SCRIPT LANGUAGE="JavaScript">
<!--
// これを参考に文字列の検索(バージョンの取得)を考えてください。
document.write('userAgent :' + navigator.userAgent + '<br>');
document.write('appName :' + navigator.appName + '<br>');
document.write('appCodeName:' + navigator.appCodeName + '<br>');
document.write('appVersion :' + navigator.appVersion + '<br>');
document.write('language :' + navigator.language + '<br>');
document.write('platform :' + navigator.platform + '<br>');

//-->
</SCRIPT>

</BODY>
</HTML>

~~~~~~~~~~~~~
ちょっと古いですが,バージョンチェックのやり方は参考URLみたいなものがあります。

ページを2つ用意しておいて,バージョンチェックをしてから別々のページに飛ぶのもひとつの解決策ですかね。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ