アプリ版:「スタンプのみでお礼する」機能のリリースについて

firefox 専用のCSSを表示させたいのですが、

stylelink.js として


var var_css='';
if(checkB.Mac) {
if(checkB.SAF) {
var_css="SAF";
} else if(checkB.IE52) {
var_css="MacIE52";
} else if(checkB.IE5 || checkB.IE51 || checkB.IE6) {
var_css="MacIE5";
} else if(checkB.NN6 || checkB.NN7) {
var_css="MacNN6";
} else {
var_css="common";
}
} else if(checkB.Win) {
if(checkB.IE) {
var_css="IEGEK";
} else if(checkB.Win) {
if(checkB.gecko) {
var_css="firefox";
} else {
var_css="common";
}
}

document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/"+var_css+".css\" title=\"fontproperty\">");


としましたが 外部 firefox.css が上手く反映しません。 どうすればよいのでしょうか?

御教授をお願いいたします。

A 回答 (2件)

可能性としてまず、「判定文が誤っている」可能性は忌めないと思います。



とりあえず、以下のように単純化して、CSSが反映されるかを確認するのが先決と思われます。

<SCRIPT>
document.write('<LINK rel="stylesheet" type="text/css" href="/css/firefox.css">');
</SCRIPT>

混乱の多い¥によるエスケープを、JavaScript側の文字列定義をシングルコートに変更して回避している点にもご注目ください。
もし、この記述でも反映されないのなら、問題はスクリプトの側にではなくCSSそのものの定義にあるか、パスの指定誤りと思われます。(たぶん、パスを絶対パスへ変更すると直るような気がしますが。)

逆にこれで反映されるなら、その前の分岐処理の誤りです。
LINKの出力部分を
alert(var_css);
へ書き換えて、期待通りの出力になっているかご確認ください。

JavaScriptはデバックのし難い処理系なので、このように原因を切り分けて少しづつ問題を絞り込んで行く努力が必要です。
デバッカを自力で組み込むような作業が必要な場合も多いですね。
頑張ってください。
    • good
    • 0
この回答へのお礼

御礼が遅くなり申し訳ございません。
色々と試して基本的なところまでさかのぼって頑張って見ましたが別の方向から解決することになりました。

有難う御座いました。

お礼日時:2006/10/21 07:32

checkBって何でしょう?



全然、別のやり方ですが、以下のサイトを参考にしてはどうでしょう。

参考URL:http://www.keynavi.net/ja/bugh/css_multi.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!