Gmail如何创建此自定义提示对话框?

时间:2015-01-01 15:37:20

标签: javascript google-chrome modal-dialog gmail

有时,当我尝试关闭打开多个标签的Gmail时,我会得到一个JS prompt功能样式对话框,如下所示:

Gmail custom prompt dialog box example

据我所知,使用JS prompt功能时,无法自定义用于按钮等的文本。
此外,这似乎是一个真正的对话框(与一些JS创建的模式相对),因为你不能与屏幕的其余部分交互或拉起元素检查器等,直到你在对话框上行动。

Gmail小组如何做到这一点?
他们是否可以访问我们其他人不了解的一些未记录的函数/方法?

感谢。

1 个答案:

答案 0 :(得分:2)

您正在寻找window.onbeforeunload。它允许您在用户离开之前警告用户。

window.onbeforeunload = function(e) {
  return 'Dialog text here.';
};

请注意,许多浏览器会忽略返回值,只显示默认消息,因为它通常被滥用来显示"等待!购买我们的SPAMMY产品50%!"在诈骗网站上。