Javascript 如何在主干视图中使用window onunload事件

Javascript 如何在主干视图中使用window onunload事件,javascript,backbone.js,requirejs,backbone-views,Javascript,Backbone.js,Requirejs,Backbone Views,我对主干网相当陌生,我想在我的一个视图中使用windowonunload事件。 实际上,我已经为我的html页面创建了一个视图,我想在卸载该页面时调用一些函数。此页面加载在iframe或window.open中,因此当窗口关闭时,我想调用一个函数。 但当我写作时,事件并没有发生 events: { "beforeunload window": "myalert" } 或 我看到一些帖子说我们应该使用这个路线,但并没有很好的指南。我们将提供一些建议/帮助 谢谢

我对主干网相当陌生,我想在我的一个视图中使用windowonunload事件。 实际上,我已经为我的html页面创建了一个视图,我想在卸载该页面时调用一些函数。此页面加载在iframe或window.open中,因此当窗口关闭时,我想调用一个函数。 但当我写作时,事件并没有发生

  events: {
          "beforeunload window": "myalert"
      }

我看到一些帖子说我们应该使用这个路线,但并没有很好的指南。我们将提供一些建议/帮助


谢谢。

众多解决方案中的一个解决方案是让您的视图侦听窗口将触发的事件,下面是一个示例:

在你看来:

Backbone.Events.once('windowClosed', myalert');
window.open('your new window url here');
在新窗口中,当您要关闭它时:

$(window).on("unload", function() {
    window.opener.Backbone.Events.trigger('windowClosed');
});

谢谢,但我无法调用窗口。显式关闭,用户将单击窗口右上角的红十字按钮/自行关闭选项卡。在卸载/关闭页面之前,我必须调用我的函数。只需使用
$(窗口)
where
myalert
应该是一个函数,它必须返回一个字符串,并带有确认离开页面的消息。谢谢@RidaBENHAMMANE和Eugene。我试过了,但没用,也许我做错了。让我试着用更简单的方式再次解释我要做的事情。假设我有一个简单的应用程序xyz.html,它使用require和backbone。此xyz.html在窗口中打开。打开此xyz.html时,我想调用一个函数myalert。@swapnil0545函数在哪里?在xyz.html中或在打开它的窗口中?@RidaBENHAMMANE抱歉,写入$(window).on(“unload”,myFunc);在xyz.html中使用的inside boardview.js对我很有用。但是我们不能将窗口事件分配给视图事件中的处理程序吗?
$(window).on("unload", function() {
    window.opener.Backbone.Events.trigger('windowClosed');
});