【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言

現在、画像をJavaScriptでポップアップ表示させてます。
具体的には、以下のようにやってます。

<a href="./hana.jpg" onclick="window.open('hana.jpg','TITLE');return false">***</a>

リンクを開いたら、そのリンクを訪問済色にしたいのですが、上記のやり方では、未訪問色のままです。
(履歴に残らないので当たり前ですが)
href="#" にすると、最初から訪問済色となってしまいます。

クッキーを使って、開いた画像を履歴にしようかと思いましたが、手間ですし、大げさかと思いました。

何か良い方法がありましたらご教授下さい。

【参考:過去の質問】
http://okweb.jp/kotaeru.php3?q=983997

A 回答 (2件)

onclick の中で return false をするとクリックが無効化され、A タグのジャンプ動作がキャンセルされます。


クリックされなかったことになるのですから、その場で訪問済色に変わることはありません。
しかし、その画像にはアクセスしているので履歴には残り、次回アクセス時には訪問済色に変わっているはずです。

ところが、そのライブラリ(openex.js)を使って画像サイズ自動調整オプション(image=1)を指定すると、ブラウザが画像に直接アクセスするのではなく、開いたウィンドウ内のJavaScriptで動的に読み出すようになるため、その画像が履歴に残らないようなのです。
※IE以外のブラウザについては調べていません。

onclick では return false せざるを得ないので、href の方で直接JavaScriptを起動するようにします。
※return false しないとどうなるかは試してみてください。

<a href="javascript:void(window.open('hana.jpg','TITLE','image=1'))">***</a>

ただし、この方法では訪問済色には変わりますが、JavaScriptがオフになっているとリンクが全く機能しませんので、アクセシビリティを意識するなら使わない方がよいでしょう。
    • good
    • 0

特にパラメータを指定していないようなので、


<a href="./hana.jpg" target="TITLE">***</a>
でできると思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報