人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

リンク元のアドレスを判断して、使用する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を利用

よろしくお願いします。

●質問者: nekogo
●カテゴリ:コンピュータ
✍キーワード:CSS HTML アドレス リンク リンク元
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● aki73ix
●40ポイント

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

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

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

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

<script type="text/javascript">

<!--

<var referer = escape(document.referrer);

if(referer=="

http://A.com"

)

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

else if(referer=="

http://B.com"

)

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を分岐させる方法は?

参考

◎質問者からの返答

ありがとうございます。

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


2 ● watallina
●5ポイント

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

PHP: 定義済の変数 - Manual

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

もし

http://A.com

から → A.CSSを使用

ではなくて

http://B.com

から → B.css

それ以外 → C.css

という感じで。

◎質問者からの返答

ありがとうございます。


3 ● にっき
●39ポイント

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=(’

http://A.com

’->’A.css’,’

http://B.com

’->’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;

◎質問者からの返答

ありがとうございます。


4 ● にっき
●1ポイント

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;

◎質問者からの返答

ありがとうございます。

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ