Firefox提示确认是否离开该页面

19

我有一个脚本,如果用户正在上传文件并试图关闭浏览器,它将触发 onbeforeunload() 并弹出一个警报。我更改了消息,但在 Firefox 中无法正常工作,在 IE、Opera 或 Safari 中完全正常。代码大致如下:

window.onbeforeunload = checkUnload;
function checkUnload() {

if (document.upload.isEmailing())
    return "Aaaa";

在IE和Opera中,当用户在发送电子邮件时关闭浏览器,它会显示弹出窗口,上面写着"AAAA"以及离开或停留页面的按钮。

然而,在Firefox中,它显示:

"此页面正在询问您确认是否要离开-您输入的数据可能未保存",并提供离开或停留页面的按钮。

为什么它不起作用,我做错了什么吗?

注:如果有帮助,我使用的是最新版本的Firefox。

2个回答

21
由于安全原因,Firefox现在忽略您返回的字符串。
您无法做任何事情来改变这种情况。

那么你在https://dev59.com/73I-5IYBdhLWcg3w3crS#1632004的回答不再有用了?..该死! - Samson
FF是新的IE - 疯狂! - rymo
3
安全原因非常有道理。恶意网站会放置各种误导性的文本。 - SLaks
8
@SLaks说,这些恶意网站自然不敢在页面内容或单独的alert()框中放置误导性文本,他们知道要把这些都留到onbeforeunload上。所以我想Mozilla已经完全保护了我们。干得好!网络钓鱼问题解决了! - rymo

6
根据MDN的说明:

请注意,在Firefox 4及更高版本中,返回的字符串不会显示给用户。

有关更多信息,请参见引用的错误

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接