我正在使用page.js作为路由器来构建单页应用程序。在SPA中更改页面时,似乎未触发默认的window.onbeforeunload事件。我如何实现类似的功能,如果用户决定不继续操作,可以选择性地取消页面转换? (即“您的更改未保存:可以放弃更改吗?”)
谢谢!
为了防止地址栏改变并有效地停止页面处理,请在show
功能内设置context.handled = false
。这将停止page.js中的pushState
操作,从而防止地址栏更改。
示例:
page('/prevent-access', (context, next) => { context.handled = false }) // Prevents URL change to this page.