在Electron運行的子頁面沒法訪問window.opener解決方案

咱們的首頁有一個window.open打開子頁面後反向刷新父頁面的功能,可是主頁面若是開啓了nodeIntegration=true,這個時候再設置nativeWindowOpen是不啓做用的。再被window.open打開的頁面沒法訪問window.opener(返回null)的。這個反向刷新還會調用window.close關閉本身也不啓做用。相似下面的代碼:node

window.opener = null
window.open("", "_self")
window.close()

我目前想到的解決方案就是在子頁面判斷若是window.opener爲空,則調用和Electron交互的關閉窗口代碼。在Electron中訂閱窗體的close事件,若是當前的地址是咱們通用處理反向刷新的地址,則獲取父頁面的webContents向對應的webFrame發送一個執行JavaScript的消息實現執行window.opener對應的方法。web

相關文章
相關標籤/搜索