1
我已經掛鉤了window.onbeforeunload事件和Marionette.AppRouter.navigate方法,以檢測導航離開頁面並在導航前運行一些代碼。木偶中的回退按鈕(onbeforeunload不工作)
這些掛鉤會在關閉頁面或瀏覽時導致觸發,除非是後退或前進按鈕導航(Chrome)。
我可以處理路徑事件和檢測時,前進/後退按鈕調用:
Backbone.history.on('route', function(route, params) {
console.log('routing!');
});
但我希望能夠導航之前做到這一點;延長execute應該讓我這樣做,但它不會被調用:
_.extend(Backbone.Router.prototype, {
execute: function(callback, args) {
if (callback) callback.apply(this, args);
}
});