- ベストアンサー
CSS デザイン 切り替えかた
1つのWebサイト作る際、ユーザー別に、自動でデザインを変えてみせることは可能ですか? デザインはCSSでやろうと思っています。 可能なら、css、javascript、…など、どういうものを使えばいいか教えてください。 例えば、特定のページAからのリンクで来た人にはA'のデザインで 特定のページBからのリンクで来た人にはB'のデザインで…というふうに、1つのサイトを見せたいのです。 (特定のページA、B…も自分で作ります。) javascriptのパラメータやリファラーを使えばリンク元のページはわかって、 複数のcssを切り替えたりできるようですが、 (http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q111...のベストアンサー参照) その切り替えたcssの情報を(最初の1ページだけでなく)、 サイト内で、次のページ次のページまた戻って違うページ…などと遷移していった時に、 受け継いでゆくことは可能でしょうか? 同じサイト内を、違うリンク元からきた人は、違うデザインで見続けるということです。 わかりにくくてすみません。 それぞれのデザインの分だけページを作ればいいというのは、ナシでお願いします。 できるか、できないかなど、少しでも情報くださると嬉しいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 参考のURLではクッキーではなく、location.searchといわれるURLの?の後の部分を利用して情報を受け渡しています。 この方法を使う場合は、HP内の他のページに移動する時に、URLだけでなく使用するスタイルシートのタイプ情報を付加えなければならないので、普通のリンクではなくJavaScriptでリンク先に飛ぶような処理をしてあげる必要がありますね。 複数ページを行き来する場合は、クッキーを利用した方が楽だと思われます。 スタイルシートを外部ファイルにして複数用意しておいて、リンクファイルの定義の対象ファイルをスクリプトで書き換えるのが簡単かと思われます。 -----HTML----- <link rel="stylesheet" type="text/css" href="styleA.css" id="CsType"> ----Script------ document.getElementById('CsType').href =styleB.css; (AをBに書換え)
その他の回答 (4)
- arenani_sorenani
- ベストアンサー率73% (58/79)
参照URLの回答は私が書いたものです。 参照URLのjavascriptのカテで再度質問していただければ cookie版のもをお教えいたします。よろ。
- arenani_sorenani
- ベストアンサー率73% (58/79)
参考URLのリンクが切れてるのでq******を教えて。 cookieを使えば実装は簡単。
補足
すみません。 参考URLが切れていました。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1117565191 本当にすみません、 よろしくお願いします。
- fujillin
- ベストアンサー率61% (1594/2576)
#1の回答そのままですが、 javascriptでリンク元のページを判定した時に、適用するCSSのタイプ(例えばtype_AとかType_Bとか)も決るので、その識別子をクッキーに記しておく。 他のページでは、そのクッキーを読んで適用するCSSのタイプを決める。 といった感じです。javascriptとCSSができれば可能。 途中のページにいきなりジャンプしてくることを考慮すると、どれかをデフォルトにしておいて、書き換えるのが良さそう。
お礼
ありがとうございます! javascriptとCSSなのですね。 検索するキーワードすらわからず困っていましたので助かります。 ありがとうございます。
- yambejp
- ベストアンサー率51% (3827/7415)
クッキーでパラメータをとっとくのが妥当でしょうね。
お礼
さっそくの回答ありがとうございます。 可能でしたら、もう少し詳しく教えていただけると助かります。 漠然とした質問で申し訳ないのですが、どれくらいの知識・スキルが要りますか?
お礼
ご本人様ですね! びっくりしました。 javascriptでできる事かも分からず、このカテゴリーで質問していました。 再度質問させていただきます。よろしくお願いします。
補足
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=1017657025 yahoo!の方で質問させていただきました。 よろしくお願いします・・・