14歳の自分に衝撃の事実を告げてください

同じページをブラウザで複数開けないようにすることは可能ですか。


123.html
をすでに開いている。
さらに別のウインドウで
123.html
を開いた場合に、何らかの処理で開けないようにする。

リンクをクリックではなく、別に開いたIEのお気に入りなどから開いた場合として。

A 回答 (4件)

#3 の方のを元に、少し変えてみました。



if(window.self.name=='next')return;
window.open(window.self.location.href,'next');
var w = window.open("","_top");
w.opener = window;
w.close();

これで別窓の件は対応できるかと思います。
ただ、123.html を開いた後に別サイトに移っても
その窓の名前は next (例示で付けた名前)なので、
その後に別のウインドで 123.html を開こうとすると
既に 123.html からは移っているのに
その以前 123.html を開いていたウインドに
表示されます。

尚、当方の検証の不備かもしれませんが、
オペラ,モジラ 共に window.opener を認識せず、
常に else の方に行ってしまい、
何も表示しない状態になってしまいました。
    • good
    • 1

body.onloadに


if(window.opener){
return;
}else{
window.open('123.html','next');
var w = window.open("","_top");
w.opener = window;
w.close;
}

これでできますね。自分でもちょっとビックリしました。今度使ってみようw
あ・・・・・ネットスケープとIEとオペラとか使えば、3つ以上開くこともできますね。そこまでの対策が必要であれば、サーバ側での対処が必要になるでしょうね。
あと、別ファイルからopen()で開いた場合も別窓として立ち上がってしまいます。←対処できたら教えてください^^;
    • good
    • 0

 該当のページを開いた時に、


クッキーにページの番号等何らかの情報を、
書き込んでおくのはどうでしょう?
クッキーなら、設定した時間が経過すれば消えますから、
後始末をしなくても、一応大丈夫です。
とりあえず、一つ開いたら、一定時間経過しないと、
2つ目は絶対に開けなく出来るはずです。
    • good
    • 0

 無理やり作ろうと思えば作れます。


 しかし、「閲覧者のパソコンが突然ハングアップした」ことを探知できないため、「誰もそのページを閲覧できないタイミング」が存在してしまいます。

 閲覧者が「いつそのページを見始めたか」を探知するのは容易ですが、「いつ見終わったか」は、ブラウザが自己申告してくれるように細工をしないといけないからです。

 よって、会員だけが見れる特殊なページ以外でそういう技術を使うと、まず間違いなく怪しまれて人が寄り付かなくなります。

この回答への補足

回答ありがとうございました。

>会員だけが見れる特殊なページ

実は、今回の質問は上記のような特殊なページです。

補足日時:2004/10/27 14:35
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報