4

我知道这可能之前已经讨论过,但我想知道 Facebook 是如何成功实现此功能的 - 在https://www.facebook.com/messages/new中:撰写消息然后尝试按下“返回”按钮时在浏览器中,我得到了 facebook 自己的自定义对话框,它验证我真的想离开页面。

我知道我可以使用beforeunload事件来调出本机对话框,但是如何创建自己的自定义对话框,例如 Facebook 的。

我认为一种方法可能是使用 jQuery 并在整个链接集上运行一个事件。

但它如何适用于其他一切(例如浏览器中的“后退”按钮)。

我认为这可能与 pushState 控制有关,或者 facebook 可能使用了一些客户端框架,当按下“返回”时,我实际上并没有卸载窗口。

无论如何,很乐意获得有关此问题的一些信息。

4

1 回答 1

0

它只是 HTML、CSS 和 JS。在撰写消息的情况下,实际上只是一个表单,设置您的beforeunload事件并检查是否已填写任何表单字段。如果是,请显示您的自定义 html。也许这可以帮助您入门:http: //jsbin.com/ronuyo/1/

于 2015-04-21T23:41:56.543 回答