対象:ホームページ・Web制作
回答数: 3件
回答数: 7件
回答数: 3件
リンク先にマウスを重ねると、ステータスバーにリンク先URLが表示されますが、
この表示を別の表示に変えるか、
もしくはステータスバーそのものを非表示にしたいのですが、できるのでしょうか?
別に、訪問者を悪質サイトへ誘導しようという目的ではありません。
ただ、リンク先ごとに、「正解」「不正解」という異なるページへ行くわけですが、クリックするまでそれを伏せておきたいのです。
以下に、自分なりに試した結果を記載します。
しかしどれも上手く行きませんでした。
方法1:onmouseoverとwindow.statusの組み合わせ
<a href="http://www.xxxx.html" onmouseover="window.status='リンク先は秘密だよ'; return true;">
結果:
オフラインで試した場合はうまく動作しますが、オンラインで試すとステータスバーに何も表示されませんでした。
せめて、設定したメッセージ(この場合「リンク先は秘密だよ」)を、表示させたいのです。
方法2:ステータスバー非表示の新規ウィンドゥとして起動する
window.open("xxxx.html", "newwin" ,"status=0");
結果:これもオフラインでは上手く行きましたが、オンラインではステータスバーが表示されてしまいます。
ちなみに当方のブラウザはIE7を使っています。
よろしくお願いします。
補足
2012/11/07 12:31井上様
ありがとうございます。試してみたところ、
オフラインでは「http:///C:/それは秘密です」と表示され、
オンラインでは「http://XXXXXX(自サイトドメイン)/それは秘密です」と表示されました。
当方がやりたいのは、「飛び先が自サイトドメインであることも隠し、かつ、別の文字を表示させる」ということです。
なので残念ながら、この方法は使えませんでした…。
Hajestiaさん ( 長野県 / 男性 / 31歳 )
回答:2件
井上 みやび子
Webエンジニア
-
onclick でURLを開けばステータスバーのリンク先を隠せます
始めまして。Webシステム開発などを行っております すぐ使える株式会社の井上と申します。
私の環境ではIE7がすぐに出て来なくて動作検証できないのですが、以下のように href の方は "#" にしておいて onclick でページ遷移すれば、ステータスバーへの表示は表示中のページのURLとなり、リンク先の表示は抑えられるはずです。
<a href="#" onclick="window.location.href='seikai.html'">回答内容</a>
お試し下さい。
評価・お礼
Hajestiaさん
2012/11/07 17:17ご回答ありがとうございます。
<a href="#" onclick="window.location.href='seikai.html'" onmouseover="window.status='秘密'; return true;">回答内容</a>
で試してみましたが、
やはりステータスバーには「秘密」の文字が表示されません。
(オフラインでは表示されるけどオンラインだとダメです)
リンク先を表示させないだけでなく、メッセージが表示されるようにしたいのです。
アンカーに限らず、どうもステータスバーの表示自体を設定変更すること自体、できないようです。
ステータスバーの表示を、サイト開発者の自由に設定できると悪用される危険性があるため、設定変更できないようにIE7から仕様変更されたみたい?…らしいです…。
しかし必ず悪用されるというわけではないでしょうに…。
井上 みやび子
2012/11/08 11:04なるほど。メッセージの表示の方がメインなのですね。
ステータスバーの自由な書換えはやはりセキュリティ上の問題がありますので、メッセージを伝えたい、という事がメインの目的であれば、文法等度外視ですが、以下のようにしてみてはいかがでしょうか?
<a href="/それは秘密です" onclick="window.location.href='seikai.html';return false;">回答内容</a>
表示中に http:// とホスト名は残ってしまいますが、日本語の場合、並べれば日本語文字は目立つので、制作者の意図は利用者に伝わると思います(笑)。
ご参考になれば幸いです。
小菅 太郎
ITコンサルタント
2
<head>内に埋め込みステータスバーのアドレスを非表示にする
はじめまして。アイナパルの小菅と申します。
IE7ではデフォルトでステータスバーテキストの変更が禁止されていると思います。
IE7での動作検証が出来ないのですが・・・
ステイタスバーのテキストを非表示にさせることは下記にて可能です。
下記を<head>と</head>の中に埋め込みます。
ただし、この場合、そのページ全てにおき有効になりますので、注意下さい。
<script type="text/javascript">
<!--
function nonbar(){
window.status = '';
return true;
}
if (document.layers)
document.captureevents(event.mouseover | event.mouseout);
document.onmouseover = nonbar;
document.onmouseout = nonbar;
// -->
</script>
お試し下さい。
補足
補足です。
先ほどの記載はIEにのみ有効で、他のブラウザではアドレスは表示されます。
評価・お礼
Hajestiaさん
2012/11/07 17:18ご回答ありがとうございます。
試してみました。
オフラインでは上手く行きましたが、オンラインでは、
document.onmouseover = nonbar;
document.onmouseout = nonbar;
の2つとも、JavaScriptではエラーとなってしまいます。
(現在のポイント:-pt)
このQ&Aに類似したQ&A
表示中のコンテンツに関連する専門家サービスランキング