在标准浏览器中,加载新 url 将重置 javascript 上下文。IE。所有全局变量、编译函数和事件都将被清除,浏览器将从一个干净的状态开始。
然而,在 atom-shell 中,调用mainWindow.loadUrl
将加载新的 html 文件,但它会使 javascript 上下文保持活动状态。所以我需要删除的变量会一直存在。我如何告诉 atom-shell 清除渲染器端的整个 javascript 上下文?
在标准浏览器中,加载新 url 将重置 javascript 上下文。IE。所有全局变量、编译函数和事件都将被清除,浏览器将从一个干净的状态开始。
然而,在 atom-shell 中,调用mainWindow.loadUrl
将加载新的 html 文件,但它会使 javascript 上下文保持活动状态。所以我需要删除的变量会一直存在。我如何告诉 atom-shell 清除渲染器端的整个 javascript 上下文?
签出BrowserWindow.reload()
或WebContents.reload()
。
如果您在“渲染器”端,则可以使用remote.getCurrentWindow().reload()
https://github.com/atom/atom-shell/blob/master/docs/api/browser-window.md#browserwindowreload
如果您也想擦除浏览器端的“javascript 上下文”,则需要取消对窗口的引用并创建一个新窗口。