2019年7月3日 星期三

[JS] 新頁面關閉束後回傳值給舊頁面 (window opener)

遇到一個狀況是原本頁面新開一個頁面

新頁面處理完後關掉並回傳一些內容給原本頁面

先在原本頁面 :

//新開視窗
newwindow = window.open("/newpage");
//新視窗關閉事件
newwindow.onbeforeunload = function () {
    var val = document.getElementById('textfield').value
    
}

然後在新頁面加上

window.opener.document.getElementById('textfield').value ='test';
window.close();

如此在新頁面結束時,就會把值'test' 傳回原先頁面的textfield欄位囉


ps.如果遇到要在平板上使用可以參考以下
https://stackoverflow.com/questions/32639654/window-opener-with-a-custom-function-does-not-work-in-safari/32640630#32640630

沒有留言:

張貼留言