2015-04-01 178 views
0

我想關閉彈出窗口並刷新父窗口,但延遲幾秒後才能確保收到所有數據。目前,我有以下關閉彈出窗口並刷新父頁面javascript

function closeAndRefresh(){  
    setTimeout(function() 
{  
window.open('/{!currSubId}','_top'); 
window.location = window.location.href; 
return true; 
},5000)} 

此代碼刷新父節點,但彈出,所以彈出裏面不緊密,而父顯示刷新 - 在彈出

+0

爲什麼在超時內彈出? – epascarello 2015-04-01 13:43:57

+0

好的想法是關閉和刷新是在超時時間內。 – sparrkli 2015-04-01 13:44:56

+0

所以你把關閉代碼放在裏面並彈出。 – epascarello 2015-04-01 13:45:14

回答

0

所以移動彈出的外超時,給它起一個名字,關閉並重新加載。

function closeAndRefresh(){  
    var winPop = window.open('/{!currSubId}','_top'); //load pop up give it a name 
    window.setTimeout(function(){ 
     winPop.close(); //close pop up 
     window.location.reload(true); //refresh current page 
    },5000); 
} 

你可以只使用一個Ajax調用服務器,而不必應付一個彈出,不知道如果彈出窗口阻止程序會阻止它或者不知道如果呼叫completetd。當呼叫從呼叫回來時,您可以重新加載頁面。

+0

感謝您的快速回答,但是,這會關閉彈出窗口,但不會在5秒後刷新(或不等待5秒鐘刷新) – sparrkli 2015-04-01 13:58:54

+0

如果彈出窗口關閉,它應重新加載當前頁面。控制檯中有任何錯誤? – epascarello 2015-04-01 14:38:42

+0

但我希望它在幾秒鐘後重新加載,所以我確定它收集了所有數據(需要3秒鐘)。沒有控制檯錯誤 – sparrkli 2015-04-02 12:11:07

相關問題