弹出窗口中的Javascript alert()

弹出窗口中的Javascript alert(),javascript,jquery,html,Javascript,Jquery,Html,我有一个锚定标记,它的点击事件调用一个JavaScript函数,打开一个弹出窗口 现在,当用户单击弹出窗口的关闭按钮时,我想生成一个警报(),询问用户是否要关闭弹出窗口 使用以下代码,将在父窗口而不是弹出窗口中生成警报 <script> function openForm() { var new_window = window.open('file:///C:/Users/Tejora/Desktop/test.html','popup''width=825,height=

我有一个锚定标记,它的点击事件调用一个JavaScript函数,打开一个弹出窗口

现在,当用户单击弹出窗口的关闭按钮时,我想生成一个
警报()
,询问用户是否要关闭弹出窗口

使用以下代码,将在父窗口而不是弹出窗口中生成警报

<script>
function  openForm()
{
    var new_window = window.open('file:///C:/Users/Tejora/Desktop/test.html','popup''width=825,height=585,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no,left=50,top=0');
    new_window.onbeforeunload = function(){ 
           alert("Are you sure you want to close the window");      }
}
</script>


 <a href="#" onclick="openForm()">Click</a>

函数openForm()
{
var new_window=window.open('file:///C:/Users/Tejora/Desktop/test.html“,”弹出“宽度=825,高度=585,滚动条=yes,可调整大小=yes,工具栏=no,目录=no,位置=no,菜单栏=no,状态=no,左=50,顶部=0”);
new_window.onbeforeunload=函数(){
警报(“您确定要关闭窗口吗”);}
}

提前感谢…

当从
onbeforeunload
处理程序返回字符串时,浏览器将显示一个带有该消息的确认对话框。替换此行:

alert(“您确定要关闭窗口吗”)

为此:

return“是否确实要关闭窗口?”


是相关文档。

您正在寻找的函数称为“确认”,这是一种警报,但要求用户输入是/否。使用
返回确认(“您确定…”)
要显示确认对话框而不是@doldt
confirm
alert
所述的警报,不应在
onbeforeunload
事件处理程序中进行调用:“自2011年5月25日起,HTML5规范规定调用window.alert()、window.confirm()和window.prompt()方法在此事件期间可能会被忽略。“嗯,
onbeforeunload
在您点击后退按钮或刷新页面时也会被触发。我不认为有任何方法可以陷阱浏览器关闭事件!!使用自定义弹出窗口而不是新窗口如何?这会给你所有你需要的控制权。@ArinCool他正在打开一个弹出窗口。据推测,弹出窗口中没有额外的导航,新窗口开始时有一个干净的历史记录,因此“后退”按钮不起作用。当我用return替换警报时,不会生成弹出窗口。我刚刚测试了解决方案,效果很好。请粘贴新代码。另外,您的示例代码中有一个错误,在“popup”之后应该有一个逗号:
“popup”width=825…
感谢它的工作,但是有没有办法更改它所说的“此页面要求您确认要离开-您输入的数据可能无法保存”以及您正在使用Firefox的按钮文本,对吗?不幸的是,从版本4开始,Firefox就完全忽略了您返回的文本。Google Chrome显示您的文本,但也添加了自己的附加消息。并且不能在任何浏览器中更改按钮标签。这是没有办法的,抱歉,这是为了保护浏览器用户免受恶意网站的攻击(这是正确的)。如果您想要完全控制,应该使用DOM元素模拟弹出窗口。否则,你就不走运了。