アプリ版:「スタンプのみでお礼する」機能のリリースについて

一度開いたページを、それ以後リロードできないようにするワザはありますか。

もしくは、下記のページを2度目にリロードしたらwindow.openをさせない方法でもけっこうです。

(例)
----ここから----
<SCRIPT language=JavaScript>
window.open("next.htm")
</SCRIPT>

本文ほげほげ・・・

----ここまで----

A 回答 (1件)

リロードさせない、ってのは無理です。



window.open だったら、適当な target を指定すれば前回開いたウィンドウに表示されるので、複数開いてしまうのは防げます。
 window.open("next.htm", "nextwin");

あるいは window.open の戻値を保存しておき、BODY の onUnload で close() する、というのも手です。
 win = window.open("next.htm");
および
 <BODY onUnload="win.close()">
こうすると、リロードの際にサブウィンドウが一旦閉じられます。

ただ、これらの方法はリロードの度に next.htm を開き直すので、それがまずい場合はセッションクッキーを利用し、セッションクッキーがない時だけ開くようにすると良いかもしれません。
 if (document.cookie.indexOf("nextwin=1") == -1) {
   document.cookie = "nextwin=1";
   window.open('next.htm');
 }
    • good
    • 0
この回答へのお礼

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

>リロードさせない、ってのは無理です。

わかりました。

>ただ、これらの方法はリロードの度に next.htm を開き直すので***セッションクッキーがない時だけ開くようにすると良いかもしれません。

これが今回の目的にはよさそうなので、活用させていただきます。(^O^)

お礼日時:2003/12/12 08:57

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