リンク元のアドレスを判断して、使用するCSSを切り替えることは可能ですか?


例 共通するリンクページ Z.html 
http://A.comからのZ.htmlのリンク → Z.htmlはA.cssを利用
http://B.comからのZ.htmlのリンク → Z.htmlはB.cssを利用
リンク先が分からない場合     → Z.htmlはC.cssを利用

よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:aki73ix No.1

回答回数5224ベストアンサー獲得回数27

ポイント40pt

http://tohoho.wakusei.ne.jp/js/

そのファイルは現在ありません

余り、お勧めしませんが、JavaScriptで分岐させてはいかがでしょうか?

ちょっと手抜きなので本来は indexOf関数でRefererのドメインを抽出した方がいいですね

<script type="text/javascript">

<!--

<var referer = escape(document.referrer);

if(referer=="

)

document.write(’<LINK rel="stylesheet" type="text/css" href="A.css">’);

else if(referer=="

)

document.write(’<LINK rel="stylesheet" type="text/css" href="B.css">’);

else

document.write(’<LINK rel="stylesheet" type="text/css" href="C.css">’);

// -->

</script>

<noscript>

<LINK rel="stylesheet" type="text/css" href="C.css">;

</noscript>

http://www.phoenix-c.or.jp/~zspc/cgi-bin/wwwlng.cgi?print+1999-1...

IE用とNN用のCSSを分岐させる方法は?

参考

id:nekogo

ありがとうございます。

ちなみにお勧めしない理由は何でしょう(^^;

2004/07/05 14:46:54
id:watallina No.2

回答回数54ベストアンサー獲得回数0

ポイント5pt

http://jp2.php.net/reserved.variables

PHP: 定義済の変数 - Manual

phpやjavascriptなどでヘッダー情報を取得してそれに応じた処理を行えばよいと思います。

もし

から → A.CSSを使用

ではなくて

から → B.css

それ以外 → C.css

という感じで。

id:nekogo

ありがとうございます。

2004/07/05 15:02:41
id:Nikki_A No.3

回答回数32ベストアンサー獲得回数0

ポイント39pt

http://critical.s6.xrea.com/web/cssselect.shtml

スタイルシート切り替えスクリプト / CSSメモ

可能です。参考URLのものはユーザーが好きなCSSを選択することを可能にするスクリプトですが、こちらをリンク元参照を利用してスタイルシートを振り分けるように改造するとできると思います。

JavaScriptを使いたくない場合はリンク元を

参照して異なるCSSを出力するCGIを使えば

いいと思います。

以下にCGIのサンプルを。

動作テストしてませんので、そのまま動くか

どうかは保証できません。参考にとどめてください。

HTMLのスタイルシート指定

<link rel=”stylesheet” type=”text/css” media=”all” href=”css.cgi”>

css.cgi

#!/usr/local/bin/perl

$defaultcss=’C.css’;

%css=(’

’->’A.css’,’

’->’B.css’);

$refer=$ENV{’HTTP_REFERER’};

if(exists($css{$refer}){

$css=$css{$refer};

}

else{

$css=$defaultcss;

}

print ”Content-type: text/css; charset=Shift_JIS¥n¥n”;

open(CSS,$css) or die;

while(<CSS>){

print;

}

close(CSS);

1;

id:nekogo

ありがとうございます。

2004/07/05 15:30:55
id:Nikki_A No.4

回答回数32ベストアンサー獲得回数0

ポイント1pt

http://www.hatena.ne.jp/1089005289#

リンク元のアドレスを判断して、使用するCSSを切り替えることは可能ですか? 例 共通するリンクページ Z.html  http://A.comからのZ.htmlのリンク → Z.htmlはA.cssを利.. - 人力検索はてな

ごめんなさい、さっきのスクリプト参照元を

調べるところが間違ってました。

回答オープン分のっかっておきます。

あとポイントは不要です。

$ENV{’HTTP_REFERER’}=~/(http:¥/¥/[¥w¥.]+)/;

$refer=$1;

id:nekogo

ありがとうございます。

色々と試してみたいと思います。

2004/07/05 15:31:34

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません