
void(0)
フレームを分割し、1クリックで2画面を同時に変更するホームページを作成しました。あるサーバーではうまく表示されるのですが、宣伝が邪魔になるので、フレーム分割しているホームページは他のサーバーに移しました。最初のクリックではフレーム分割した画面にリンクされ正しく表示されるのですが、次にクリックして違う2画面を表示させようとすると、表示はされるのですが、javascript:void(0)というアドレスの画面が新しく開き、ページを表示できませんというメッセージが出力されます。どこがおかしいのでしょうか。画面分割した変更された2画面の背景も表示されていません。自分のPCのホームページが入っているフォルダの階層の数とホームページの階層の数と同じでないといけないとかあるのでしょうか。
PCはCドライブ→Aフォルダ→Bフォルダ
サーバーの方はpublic html→Bフォルダとなっています。関係があるでしょうか。
投稿日時 - 2002-07-22 12:05:55
<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)」だけを書かれても
何が間違っているのかは分からない、ということですね。
投稿日時 - 2002-07-23 00:08:24
<a onClick="parent.No2.location.href='http://~';
parent.No3.location.href='http://~'" href="javascript:void(0)">xxxx</a></P>
初期画面では正常に表示されるのですが、クリックしてからの表示がうまくいきません。javascript void(0)というアドレスのウィンドウが開きます。同じサーバー内でリンクしていた時はうまくいっていたのですが、違うサーバーに移してからうまくいかなくなりました。いじっていたらNo3のウィンドウまで開かなくなりました。
投稿日時 - 2002-07-23 22:10:01
回答がこないので一度締め切らせてもらいます。
ありがとうございました。
投稿日時 - 2002-08-10 20:40:53
このQ&Aは役に立ちましたか?
1人が「このQ&Aが役に立った」と投票しています
回答(2)
onClick に false を返すと、クリック自体が無効になり、リンクしなくなります。
例:
onClick="location.href='xxx'; ...; return false;"
としてみてはいかがでしょうか。
これで、javascript void(0)というアドレスのウィンドウは開かなくなるはずです。
投稿日時 - 2002-07-26 15:43:11
回答があったことに気が付かなく遅くなりました。
直して見たら、アドレス"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>
原因がわかりましたらお願いします。
投稿日時 - 2002-08-04 12:14:21
回答が来ないので一度締め切らせてもらいます。
ありがとうございました。
投稿日時 - 2002-08-10 20:41:43