このページの内容は、Chrome134(2025年4月2日)の段階でのテスト結果に基づいています。 Chromeは、他のブラウザより早く「訪問済リンク色」の新しい仕様を実装したため、他のブラウザの従来の状態とは異なる事に注意してください。

 

 

「target="_blank"」はリンク色が変わらない 

3月末に、私のブログ環境で「訪問済リンク」の色が変わらない現象が、殆どのリンク・ページで生じました。 最初は DevToolsでチェックし、ページのHtmlやCSSをテスト的に書き換えてテストしたのですが、「訪問済リンク」の色が変わる場合はごく限られていて、「変わる場合」と「変わらない場合」の理由が判りませんでした。

 

しかし、本来なら新仕様であっても変化して良いはずが、殆どの箇所で変わらないため、頭を捻っていたのですが、昨日やっとその理由が判りました。 変わらないリンクは「a要素」に「target="_blank"」の属性が設定されていて、「別タブ」に開くリンクだったのです。

 

 

リンクの開き方と「訪問済リンク色」の変化 

リンクの「開き方の条件」がややこしいので、整理します。

 

     
  開き方の条件と操作結果
「target="_blank"」の属性がない「a要素」を「Click」  
   ➔ 現在の「タブ」にリンク先が開く  「リンク先」に移動
「target="_blank"」の属性が設定された「a要素」を「Click」  
   ➔「別タブ」にリンク先が開く     「リンク先」に移動
「a要素」を「右Click」して「新しいタブで開く」  
  「a要素」を「Ctrl+Click」しても同じ  
   ➔「別タブ」にリンク先が開く  「元画面」から移動しない
「a要素」を「右Click」して「新しいウインドウで開く」  
  「a要素」を「Shift+Click」しても同じ  
   ➔「別ウインドウ」にリンク先が開く 「リンク先」に移動

 

 

」:「/ ✖」は「訪問済リンク色」が変化するか変化しないかを表します。

 

 

実用的なユーザーインターフェイスから見た現状 

私の場合、特に問題にしたのはブログの「HOME」画面の「フォローフィード」の操作上で、今回の Chromeの変更で「既読リンク」が判断出来なくなった事です。「フォローフィード」は「X」のタイムラインと同様で、フォローしたブログの新着記事のリンクがリスト表示される仕組みです。 このリンク群の「訪問済」「未訪問」が、区別できなくなりました。

 

原因は、リンク群の全てが上表 ➁ の「target="_blank"」の属性があるためでした。 通常のPCユーザーは、「フォローフィード」のリストからリンク先の記事を開いて、再びリストに戻って来る場合が多く、それを想定してリストの「HOME」画面のタブを閉じずに「別タブ」でリンク先を開く様に、アメーバのデフォルトでリンクがデザインされています。 この目的で、リストのリンクは全て「target="_blank"」の属性が指定されているわけです。

 

① の「target="_blank"」が無い場合は、リストのブログを開く度に「HOME」のタブはそのページに遷移し、元の「HOME」に少し戻り難くなります。 それを気分的なものと思う人も、困ると思う人も居ると思いますが。

 

やはり、私は普通の「Click」で「別タブ」にリンク先のブログが開き、そのタブに移動する ➁ の状態が、最も使い易いと思います。 しかし、既読・未読を判断したければ、代替の方法は ➂ ④ を使うしかないのが現状です。

 

その場合、➂ は開いた「別タブ」に移動しないので、一番ましな候補は ④ かなと思います。

 

 

 

打開策についての考察 

これは、アメーバブログに限った事ではなく、ネットの各所で生じている問題で、今後に他のブラウザが同様の新仕様を採り入れる可能性が大です。 つまり、リンクに関系するサイトデザインで、新仕様に対応した変更が必要になるかも知れません。

 

で、具体的な事ですが、これまで ➁ の様に、

 

▪ リスト「a要素」の「左Click」で「別タブ」にリンク先が開くこと

▪ 開いた「別タブ」の「リンク先」の画面に移動すること

 

これと同時に、リンクの「a要素」が「訪問済」になる事を可能にしたいわけです。 何か打開策は無いか考えると、

 

▪ 通常の「左Click」の操作を受けて ➂ の「Ctrl+左Click」と似た結果となる様に、スクリプトで「window.open()」のメソッドを実行しても、「a要素」は何も操作されないので、「訪問済」にはなりません。

 

▪ ➂の操作を「dispach」すればと思いますが、「Ctrl+左Click」のイベントを生成する事は出来ない様です。 従って、ユーザーのこの操作を JavaScriptに実行させる事は出来ません。

 

▪ そうなると、「a要素」から「target="_blank"」をスクリプトで削除して、これでユーザーの「a要素」の「Click」で「元タブ」の遷移が生じますが、無くなってしまった「HOME」の「元タブ」の代わりに、「別タブ」に「HOME」を開くという、出来たとしても妙な策しか、改善方法は無さそうな気がします。

 

以上の様に、色々と考えて見ましたが、新仕様となった状態で、元の様に「訪問済リンク色」を「target="_blank"」の「a要素」に適用することは困難です。

 

やはり、独自に「訪問済URL」を記録して、そのデータとリストを照合して「既読」を表示するのが、一番スマートな方法の様です。