Javascript 当用户关闭浏览器选项卡时,如何显示弹出窗口?

Javascript 当用户关闭浏览器选项卡时,如何显示弹出窗口?,javascript,jquery,laravel,Javascript,Jquery,Laravel,关闭浏览器选项卡时是否有显示弹出窗口的方法?在弹出窗口中应该有一个按钮来查看更多信息,当用户单击该按钮时,应该将用户重定向到“查看更多信息”页面。如果用户单击弹出窗口中的“取消”按钮,用户将离开网站。有什么可能的方法可以做到这一点吗?我目前正在尝试这个代码。它显示弹出窗口,但它突然消失。我认为这种情况也不起作用 var userclicked=false; window.onbeforeunload = function(e) { //e.preventDefau

关闭浏览器选项卡时是否有显示弹出窗口的方法?在弹出窗口中应该有一个按钮来查看更多信息,当用户单击该按钮时,应该将用户重定向到“查看更多信息”页面。如果用户单击弹出窗口中的“取消”按钮,用户将离开网站。有什么可能的方法可以做到这一点吗?我目前正在尝试这个代码。它显示弹出窗口,但它突然消失。我认为这种情况也不起作用

    var userclicked=false;
    window.onbeforeunload = function(e) {
        //e.preventDefault();
        if(!document.hasfocus()){

        Swal.fire({
            title: 'New Promotions!',
            text: 'Visit to See New Promotions!',
            type: 'info',
            showCancelButton: true,
            confirmButtonText: 'View More',
            cancelButtonText: 'Cancel',
            showCloseButton: true
        }).then((result) => {
            if (result.value) {  userclicked=true;
                window.location = "{{url('front/promotionpage')}}";                
            } else if (result.dismiss === Swal.DismissReason.cancel) {    userclicked=true;            
            }
        });            

        if(userclicked){
            return "Hi";
        }else{
            return null;
        }
        }

        //return "hi";

        //window.onbeforeunload = null;
        //return null;
        //return "Hi";
    }

您可以添加这个简单的代码。当您想关闭浏览器窗口时,它会显示一个警报

window.onbeforeunload=函数(){
var message='是否要离开此页面?';
返回消息;
}
beforeunload事件在窗口、文档及其 资源即将被卸载。文档仍然可见,并且 此时事件仍然可以取消。


不,这是不可能的。在
onbeforeunload
中可以做的就是显示一个弹出窗口,确认退出页面(其文本您无法更改)。请注意,在大多数浏览器中,
消息
文本将被完全忽略。
 window.addEventListener('beforeunload', (event) => {
      // Cancel the event as stated by the standard.
      event.preventDefault();
      // Chrome requires returnValue to be set.
      event.returnValue = '';
    });