- ベストアンサー
ChromやFirefoxでリンクをクリックしても色が変わらない問題の解決方法
- IEではリンクをクリックすると色が変わるが、ChromやFirefoxでは変わらない問題が発生しています。
- Javascriptでページが立ち上がるリンクの色が変わらないことが分かりましたが、ChromやFirefoxでクリックした後に変わる方法が分かりません。
- もし、IEでリンクの色が変わるなら他のブラウザを気にする必要はありません。ただし、色が変わる方法があれば教えていただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 念のため、補足します。 先に書いたCSSは、例の順番(通常リンク、訪問済みリンク、ロールオーバー、アクティブ)で記述しないと正常に動作しないブラウザがある(それが正常な挙動です)ため、おそらく記述の順番が守られていないのではないか、というのが私の推測でした。 また、訪問済みリンクかどうかは、aタグのhref属性の値(URL)でブラウザが判断する為、href属性の値がURLでなく空、もしくはJavascriptの場合、訪問済みリンクかどうかが認識されないのは、ブラウザ共通の正常な挙動です。 たしかにブラウザによっては、正確なCSSを記述していたとしても、訪問済みリンクかどうかを認識したり、しなかったりする場合があります。ただ、個人的な感覚では、そのコンテンツにとって訪問済みリンクかどうかのテキストカラーの変化がよほど重要な意味を持たない限り、あまり気にするところではないかな、と思います。というのも、それはホームページ制作側がつくったバグ(ミス)ではなくて、それが各ブラウザが有する正常な挙動だからです。 逆に似たような内容でロールオーバー(a:hover)の効果を指定する場合は、ロールオーバーの効果の有無によってユーザーの使い勝手を損なってしまうケースが多いため、CSSに対応していないブラウザがあったとしてもJavaScriptなどで機能を実装する場合が多いと思います。 各主要ブラウザで同じ挙動にならないと、制作側として気持ちが悪い、という部分があるかもしれませんが、主役となるユーザーにとって特別に影響を受ける機能ではないことも多いかもしれませんね。私個人の感覚では、そういった機能に時間を費やすよりは、文章や画像などのコンテンツそのものを充実させたほうが、ユーザーは喜ぶのではないかな、と思ったりします。 参考までに。
その他の回答 (1)
- tracer
- ベストアンサー率41% (255/621)
> IEだとリンクをクリックすると色が変わるのですが、 > GooglechromやFirefoxだとクリックした後色が変わりません。 実はクリック云々は関係なくて、「訪問済みページへのリンクの色」ではないでしょうか。 現在の一般的なWEBページの構成は、情報そのもの(テキストや画像など)はhtmlとして記述し、デザインに関係する配置、大きさ、色などはCSSという記述を用います。従ってリンクカラーはCSSをもって指定することが可能です。おそらくそのリンクテキストへの指定が正常になされていないのが原因だと思います。CSSの記述の方法云々になると話が複雑になるのでここでは割愛します。 ひとまず、以下の内容を該当ページの<head>内の最下部にコピペしてテストしてはどうでしょうか。 ------cssここから---------------- <style type="text/css"> a:link { color: #0000ff; } /* 通常リンク */ a:visited { color: #000080; } /* 訪問済みのリンク */ a:hover { color: #ff0000; } /* ロールオーバー時 */ a:active { color: #ff8000; } /* マウスダウン時 */ </style> ------cssここまで---------------- この作業で正常になれば、原因が特定できます。 ただ、このやり方は、修正したいページが複数ある場合、効率的とは言えません。 効率的なCSSの書き方については今回の質問とは変わるので、一度ご自身で調べられて、どうしても分からない場合は、新たに質問をたてられるとよいかと思います。 > もし、IEでできるならほかのブラウザはあまり気にしないのが > 主流だとしたらそれも教えていただけると助かります。 全体のブラウザシェアを考えると、確かにIEは6割ほどあり、今でもなお圧倒的にシェアの多いブラウザといえます。その意味ではIEを無視することはできないと思いますが、IEだけ表示されればいい、という考え方はないと思います。もしあるとすれば、ユーザーを無視したひどくナンセンスな考え方だと個人的には思います。残りの4割はどうするの?っていう話ですね。 また、数年前のWEB制作では、異なるブラウザ間で何が何でも同じ表示にする、という風潮がありましたが、たとえばIE6とChromeの公開時期はおよそ7年の違いがあり、機能に差がないわけがなく、それらに同機能を持たせることは、できない訳ではないですが、とても骨の折れる作業になります。 おそらく今のWEB制作では、FirefoxやChromeなどのモダンブラウザで正常に動作するものを目標に制作し、最終的な段階でIE6などでも支障のないページに仕上げ、閲覧に支障がない箇所に関しては、IE6などの古いブラウザの考慮は切り捨てていく方向だと思います。 たとえば私の考え方を参考までに。クリックするとページトップにスムーズにスクロールする機能があります。あれはIE6でも実装できますが、仮にできなかったとしても、閲覧には支障がないので、IE6に関しては機能を無効化する。という方法をとります。 長くなってしまいましたね。 失礼しました。
お礼
補足にお礼を書いてしまった関係でお礼入力を忘れていました。 申し訳ないです。 ありがとうございました。また、何かありましたらお願いいたします。
補足
>実はクリック云々は関係なくて、「訪問済みページへのリンクの色」ではないでしょうか。 その通りでした。ありがとうございます。 そして、CSSを試しました。残念ながら「訪問済みのページのリンクの色」は変化しませんでした。 キーワードを変化させて、調べてみるとどうやらFirefoxやChromeはリンクの色が変化しないことがあるようです。 それがJavaScriptだけかどうかまで突き止めることはできませんでしたが、何にしても私だけではないと言うことがわかりました。 できることなら「訪問済みページへのリンクの色」は変えたいところです。 やるだけやってみたいと思いますが、どうにもなりそうもない時はよろしくお願いいたします。 今はFirefoxやChromeがメインでしたか。 となると本当にどうにかできるならしたいところです。 大変参考になりました。ありがとうございます。
お礼
各ブラウザが正常に動いて故のことなら仕方のないことかもしれないですね。 確かにそれならコンテンツそのものを充実させるのは良い方法と思います。 ありがとうございました。