
No.3ベストアンサー
- 回答日時:
>それぞれ3箇所のhref=の部分をきちんと、場所を設定している以外、変えていないのですが
まず、それぞれの機種の判定をしているifの中で
alert("mac");
とかで機種の判別ができているか確認して下さい。
これで判別ができていない場合、platformが予想する値になっていないと思われるので、
alert(navigator.platform);
などして、たとえばMacなどで、どう表示されるのかを調べて下さい。
あるいは、navigator.userAgent、に変えてみるとか
まず、機種判別ができていないと話になりません。
それが、OKだったら
document.getElementById("myStyle").href
を設定した後読み出してみて、どうなっているか同様に表示してみて下さい。
../css/mac.cssなどのファイルがちゃんと設定できているか、読めているかという問題になろうかと思います。
例えば、同じフォルダにコピーをして
mac.cssの様に同じ階層として指定したら読み込めるのか
あるいは、http://www.~.ne.jp/css/mac.cssのようにフルパスで指定したら読み込めるのかとか
あるいは、こうした切り換えを実行しないで単体で、スタイルシートの設定をした場合にスタイルが反映されるのかとか調べてみて下さい。
>もしも原因が解りましたら、教えてください
書いているサンプルは、一応ウチの環境では動くのものですので、
ウチではそちらで動かない原因はわかりません。
使用しているOSやブラウザなどの環境と、実際に試してみられたソースなど挙げていただければわかる人もいるかもしれません。
この回答への補足
それでは、実際の表記を乗せたいと思います。
どうやらMacでは、default.cssを読み込んでいるらしく、
Windowsでは、何も、cssを読み込んでいないようです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<!-- TemplateBeginEditable name="doctitle" -->
<title>タイトル</title>
<!-- TemplateEndEditable -->
<link id="myStyle" rel="stylesheet" type="text/css" href="../css/defaultStyle.css" />
<script language="JavaScript">
<!--
if(navigator.platform.toUpperCase().indexOf("MAC")!=-1){
document.getElementById("myStyle").href="../css/mac.css";
} else if(navigator.platform.toUpperCase().indexOf("WIN")!=-1){
document.getElementById("myStyle").href="../css/win.css";
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<!-- TemplateBeginEditable name="head" --><!-- TemplateEndEditable -->
</head>
---default.cssの表記---
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 3px;
background: url("../image01-top/lam-back.jpg") repeat-x;
}
body,td,th {
font-family: "MS Pゴシック", "ヒラギノ角ゴ Pro W3", Osaka;
color: #666666;
font-size: 14px;
}
---mac.cssの表記---
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 3px;
background: url("../image01-top/lam-back.jpg") repeat-x;
background-position: 0px 100px;
}
body,td,th {
font-family: "MS Pゴシック", "ヒラギノ角ゴ Pro W3", Osaka;
color: #666666;
font-size: 14px;
}
---win.cssの表記---
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 3px;
background: url("../image01-top/lam-back.jpg") repeat-x;
}
body,td,th {
font-family: "MS Pゴシック", "ヒラギノ角ゴ Pro W3", Osaka;
color: #666666;
font-size: 14px;
}
環境は、WindowsXP IEの6.0
Macは、OS10.3 IEの5.2です。
Macで、バックグラウンドに使用しいる画像が、2ピクセルほど下にずれてしまい、対処法として、
別々のCSSを当てようと考えました。
長くなってしまったので、時間を取らせてしまって申し訳ありません。
なにか、解りましたら、お願いします。
それでは、失礼します。
No.2
- 回答日時:
<head>~</head>に
以下の様に書いて下さい。
-------------------------
<link id="myStyle" rel="stylesheet" type="text/css" href="defaultStyle.css" />
<script type="text/javascript">
<!--
if(navigator.platform.toUpperCase().indexOf("MAC")!=-1){
document.getElementById("myStyle").href="mac.css";
} else if(navigator.platform.toUpperCase().indexOf("WIN")!=-1){
document.getElementById("myStyle").href="win.css";
}
//-->
</script>
この回答への補足
こちらも試してみたのですが、やはりうまくいきませんでした。こちらは私の解釈では、
defaultStyle.cssとmac.cssとwin.cssの3種類を用意して、それぞれリンクさせるという事だと思うのですけど、上記と変えているところは、それぞれ3箇所のhref=の部分をきちんと、場所を設定している以外、変えていないのですが、ダメでした。もしも原因が解りましたら、教えてください。お願いします。
No.1
- 回答日時:
どちらかのCSSを先に書いて、JavaScriptで判定して別のCSSで上書くと簡単に出来ます。
下記は先にMac用CSSを書いて、ユーザーがWinだったらWin用のCSSで上書いています。
<link rel="stylesheet" href="mac.css" type="text/css">
<script src="script.js" type="text/JavaScript"></script>
「script.js」は下記です。
if (navigator.userAgent.indexOf('Win') != -1) {
document.write('<link rel="stylesheet" href="win.css" type="text/css">');
document.close();
}
こんな感じでどうでしょうか?
この回答への補足
私のJAVAに関する知識が少ないので申し訳ないのですが…うまくいかないのです。
まず、<head>の部分に
<link href="../css/mac.css" rel="stylesheet" type="text/css">
で、Mac用のCSSを読み込ませています。
次に、同じく<head>の<script language="JavaScript">
と</script>の間に、
if (navigator.userAgent.indexOf('Win') != -1) {
document.write('<link rel="stylesheet" href="../css/win.css" type="text/css">');
document.close();
}
と表記しています。
もちろん、mac.cssと、win.cssの両方を用意して、別々の内容を書いていますが、どうも、この場合にWindowsが、win.cssを読み込んでいないみたいなのです。(T.T)
何が原因か、もし解りましたら教えてください。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- その他(OS) Macでoffice365を使う 1 2023/06/29 10:37
- Illustrator(イラストレーター) Wacomのペンタブを買い、特典のクリスタをダウンロードしたのですが、Windowsなのに間違えてm 1 2022/04/03 21:59
- Mac OS 外付けHDDのiPhoto(9.6.1)に保存している写真をWindowsにコピーする方法 6 2023/06/13 18:53
- その他(OS) windowsでMACを使えるようにする方法 6 2023/04/01 21:52
- マウス・キーボード macからリモートデスクトップでwindowsに接続した際のキーボード配列 3 2023/07/10 08:40
- Mac OS Macか Windowsか?悩んでいます。 6 2023/04/07 09:35
- JavaScript jQueryローディングアニメーションのコードの以下のURL内参考サイトで提示されている 3 2023/07/03 18:29
- Windows 10 古いパソコンでフリーズが少なく、新しいパソコンでフリーズが多いのはなぜですか。 6 2023/05/26 23:35
- ノートパソコン USBに取り込んだ写真を、Windowsにコピーして見る場合、どこにコピーするのが正しいですか? 8 2023/06/18 14:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cssファイルの名称付け
-
CSSで各ページのメニューボタン...
-
ディレクトリ構成【「common」...
-
定数の定義とかはできますか?
-
ブラウザでプレビューでCSSが反...
-
webページのプリントアウト
-
jspにcssを反映させるには
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
似ているフォント(Win⇔Mac)
-
alertで表示させる文字サイズは...
-
奇数のフォントサイズ指定について
-
C# Font GdiCharSet
-
入力規則のリストの文字の大き...
-
コマンドプロンプトでフォルダ...
-
リストの前後の行間をなくす方...
-
テキストエディタmiの表示文字...
-
Illustratorで作成、pngで保存...
-
gvimでフォント、色テーマ設定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
cssファイルの名称付け
-
ディレクトリ構成【「common」...
-
サイトを作る時のcssファイルは...
-
Dreamweaver のテンプレートで...
-
jspにcssを反映させるには
-
cssで、ボタンのテキスト部分を...
-
エクセルファイルにCSSを読み込...
-
ワードプレスで太字が反映され...
-
ブラウザでプレビューでCSSが反...
-
どうすればなるんですか?
-
複数のhtmlで同じcssファイルを...
-
CSSとMacの関係
-
ドキュメントルートより上の階...
-
スタイルシート(CSSスタイル)...
-
CSSファイルを入れるフォルダは...
-
リンクについて
-
【CSS】スタイルやクラスがどの...
-
Bootstrapとbootswatchの設定
-
外部CSS。ページ全体の背景...
-
BODYタグのstylesrcって?
おすすめ情報