Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “卸载前覆盖”对话框?_Javascript_Backbone.js_Onbeforeunload - Fatal编程技术网

Javascript “卸载前覆盖”对话框?

Javascript “卸载前覆盖”对话框?,javascript,backbone.js,onbeforeunload,Javascript,Backbone.js,Onbeforeunload,我的主要观点是: module.exports = Backbone.View.extend({ ... initialize(options) { $(window).on('beforeunload', () => { if ( _.isEqual(_.sortBy(currentStates), _.sortBy(this._savedStates)) === false ) { return 'Unsaved queries.';

我的主要观点是:

module.exports = Backbone.View.extend({
...
  initialize(options) {
    $(window).on('beforeunload', () => {
      if ( _.isEqual(_.sortBy(currentStates), _.sortBy(this._savedStates)) === false ) {
        return 'Unsaved queries.';
      }
    });
  },
...
我的目标是检查未保存的数据,并在离开某些页面之前通知用户

1,但有一个问题,在firefox上,它不会显示我的消息(在代码“未保存的查询”中)

2,另一个问题是,如果用户禁用弹出窗口,该怎么办。第二个问题现在对我来说更重要。如何使弹出窗口显示

3、用户点击上图中的“停留在页面”和“离开页面”按钮后,如何覆盖该行为

谢谢

更新


我在stackoverflow上读过一些类似的帖子。这很难。我只是想知道有什么方法可以实现我的目标?

Short:1。你遇到了这个,你的代码是好的。2.无论如何,请考虑添加一些GUI元素,这些元素将指示存在未保存的更改或自动保存内容(可能有AutoSaveFor标记到另一个表/列),或者如果可行的话,自动保存到本地存储。3.不可能。如果用户单击“保持在页面上”,您的应用程序仍将处于活动状态,以便用户可以手动保存,否则用户决定放弃数据。提示:您可以尝试在该处理程序中更新GUI,也许它显示了以下内容:您的问题无关。