2

だから私は「いいね」ボタンを作成していますが、ユーザーが小さなウィンドウからログインした後に小さな問題があり、ユーザーはページ全体を更新する必要があります。ウィンドウが閉じたかどうかを確認してから、iframe を更新します。だから私はポップアップを開くためのこのコードを持っていて、助けを求めてこの投稿を見てきましたが、それほど役に立ちません. ポップアップ ウィンドウが閉じているかどうかを確認する

function grubber_highlight()
            {           
                    var popup = window.open("http://www.grubber.co.nz/login/", "newwindow", config="height=600,width=800, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, directories=no, status=no");
                        var windowloc = document.URL;
                        var windowlocation = (windowloc + "&highlight=t");
                        window.location = windowlocation;   
                        if (popup) {
                          popup.onclose = function () { alert("closed"); }
                        }                   
            }

ウィンドウが閉じたかどうかを確認し、それが機能したことを警告するこのコードがあります

                   if (popup) {
                        popup.onclose = function () { alert("closed"); }
                    }

この小さなウィンドウは http://www.grubber.co.nz/login/に表示されます 。

また、ie8 以降のほとんどのブラウザで動作できるようにしたい

編集 私はグーグルで検索しましたが、より深く、onunloadが閉じていることを発見しましたが、ウィンドウを開いたときにも起動します...

質問

ウィンドウが閉じられたことを検出して iframe を更新する方法

4

2 に答える 2

2

これがポップアップが開かれる方法であると仮定します:

win = window.open(...);

次に、ポップアップが閉じているかどうかを繰り返し確認する必要があります。

var timer, win;
function polling(){
 if (win && win.closed) {
   clearInterval(timer);
   alert('popup window is closed.');
 } 
}
timer = setInterval('polling()',100);

更新: 別の手法についてここで説明します

于 2012-09-10T05:05:36.293 に答える
1

わかりました、ありがとうございます

     var popup = window.open("http://www.grubber.co.nz/login/", "newwindow", config="height=600,width=800, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, directories=no, status=no");
var windowloc = document.URL;
var windowlocation = (windowloc + "&highlight=t");
window.location = windowlocation;
var e = 0;  
if (popup) {
     popup.onunload = function () {
        if (e == 1)
        {
         //this will reload the iframe
        alert("closed");
         }
        else
        {
          //this will be when the pop-up gets created
        e++;                                    
        }                         
}
于 2012-09-10T05:12:17.260 に答える