6

我正在使用 atom-shell 制作一个需要加载多个 html 页面的应用程序。每次我加载不同的页面时,我都需要执行一些自定义脚本。为此,我正在使用mainWindow.webContents.on('did-finish-load', ...). 但是由于我需要为每个文件都有一个自定义函数,所以我想从 did-finish-load 事件中注销。

例子:

mainWindow.webContents.on('did-finish-load',function() {
    console.log('loaded page1');
    mainWindow.webContents.unregister('did-finish-load') // <= does that exist?
});
mainWindow.loadUrl('file://.../page1.html');
4

1 回答 1

19

BrowserWindowextends EventEmitter,因此您可以像在 Node.js 中通常那样删除一个侦听器:

var handler = function () {
    // ...
};
mainWindow.webContents.on('did-finish-load', handler);

// Later:
mainWindow.webContents.removeListener('did-finish-load', handler);
于 2015-03-30T00:27:31.870 回答