我們的首頁有一個window.open打開子頁面后反向刷新父頁面的功能,但是主頁面如果開啟了nodeIntegration=true,這個時候再設置nativeWindowOpen是不啟作用的。再被window.open打開的頁面無法訪問window.opener(返回null)的。這個反向刷新還會調用window.close關閉自己也不啟作用。類似下面的代碼:
window.opener = null window.open("", "_self") window.close()
我目前想到的解決方案就是在子頁面判斷如果window.opener為空,則調用和Electron交互的關閉窗口代碼。在Electron中訂閱窗體的close事件,如果當前的地址是我們通用處理反向刷新的地址,則獲取父頁面的webContents向對應的webFrame發送一個執行JavaScript的消息實現執行window.opener對應的方法。