- ベストアンサー
void(0)
フレームを分割し、1クリックで2画面を同時に変更するホームページを作成しました。あるサーバーではうまく表示されるのですが、宣伝が邪魔になるので、フレーム分割しているホームページは他のサーバーに移しました。最初のクリックではフレーム分割した画面にリンクされ正しく表示されるのですが、次にクリックして違う2画面を表示させようとすると、表示はされるのですが、javascript:void(0)というアドレスの画面が新しく開き、ページを表示できませんというメッセージが出力されます。どこがおかしいのでしょうか。画面分割した変更された2画面の背景も表示されていません。自分のPCのホームページが入っているフォルダの階層の数とホームページの階層の数と同じでないといけないとかあるのでしょうか。 PCはCドライブ→Aフォルダ→Bフォルダ サーバーの方はpublic html→Bフォルダとなっています。関係があるでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<a href="javascript:void(0);" target="_blank">void(0) チェック</a> ↑リンクに直で target を指定してあると javascript:void(0); というURLを開こうとします。 target指定はjavascriptに任せた方がいいかも知れません。 > 自分のPCのホームページが入っているフォルダの階層の数と > ホームページの階層の数と同じでないといけないとかあるのでしょうか。 これはよく意味が分かりませんが、 javascript が外部呼び出しである場合は、相対パスなどが関係してきますが、 / ←スラッシュから始まる記述がない場合は 作りさえ同じなら「階層の数」というものは関係ないはずです。 ~~~~~~~~~~~~~~~~ ただ、javascript:void(0) は、まぁ簡単に言うなら、 「何もしないjavascriptを実行」ということなので(ホント簡単ですが)、 間違いがあるとしたら、それ以外の場所にミスがあるのだと思います。 なので、「javascript:void(0)」だけを書かれても 何が間違っているのかは分からない、ということですね。
その他の回答 (1)
- isobeman
- ベストアンサー率41% (17/41)
onClick に false を返すと、クリック自体が無効になり、リンクしなくなります。 例: onClick="location.href='xxx'; ...; return false;" としてみてはいかがでしょうか。 これで、javascript void(0)というアドレスのウィンドウは開かなくなるはずです。
お礼
回答が来ないので一度締め切らせてもらいます。 ありがとうございました。
補足
回答があったことに気が付かなく遅くなりました。 直して見たら、アドレス"javascript:void(0);return%20false;"のウィンドウが新しく開きました。 ソースは <a onClick="parent.No2.location.href='http://~'; parent.No3.location.href='http://~'" href="javascript:void(0);return false;"> xxxx</a></P> 原因がわかりましたらお願いします。
お礼
回答がこないので一度締め切らせてもらいます。 ありがとうございました。
補足
<a onClick="parent.No2.location.href='http://~'; parent.No3.location.href='http://~'" href="javascript:void(0)">xxxx</a></P> 初期画面では正常に表示されるのですが、クリックしてからの表示がうまくいきません。javascript void(0)というアドレスのウィンドウが開きます。同じサーバー内でリンクしていた時はうまくいっていたのですが、違うサーバーに移してからうまくいかなくなりました。いじっていたらNo3のウィンドウまで開かなくなりました。