2013-02-12 882 views
0

我正在尝试做一些类似于您离开的某些网站,它会显示一个弹出窗口,显示“您确定要离开此页面”,并有两个选项“取消”和“好”。“你确定要离开这个页面吗?”功能取消和确定

我该如何做到这一点,当你点击“取消”它只会取消框,当他们点击“确定”它会做'leaveChat();'功能并离开网站?

我试过使用onbeforeunload工作,但我不知道在功能部分。

感谢您的帮助!

+1

可能重复的[如何显示“您确定要从此页面导航?”当提交更改?](http://stackoverflow.com/questions/1119289/how-to-show-the-are-you-sure-you-want-to-navigate-away-from-this-page-when- ch) – 2015-02-19 08:56:45

回答

0

没有办法做到这一点。

您可以尝试发送onunload中的AJAX请求,但我认为这不会可靠地工作。

+1

我在很多网站上看到过它?:/ – user1783703 2013-02-12 23:03:58

+1

@ user1783703:您已经看过_什么? 'onbeforeunload'不会告诉你用户点击了什么。 – SLaks 2013-02-13 15:21:34

0

要弹出当用户离开页面,确认离开的消息,你只是做:

<script> 
    window.onbeforeunload = function(e) { 
     return 'Are you sure you want to leave this page? You will lose any unsaved data.'; 
    }; 
</script> 

要调用函数:

<script> 
    window.onbeforeunload = function(e) { 
     callSomeFunction(); 
     return null; 
    }; 
</script> 
+0

浏览器将处理用户的点击并决定离开页面或继续。没有我知道的浏览器可以让你控制页面上的用户,不让他们离开。 – 2013-06-09 01:07:03

0

这里是我的html

<!DOCTYPE HMTL> 
<meta charset="UTF-8"> 
<html> 
<head> 
<title>Home</title> 
<script type="text/javascript" src="script.js"></script> 
</head> 

<body onload="myFunction()"> 
    <h1 id="belong"> 
     Welcome To My Home 
    </h1> 
    <p> 
     <a id="replaceME" onclick="myFunction2(event)" href="https://www.ccis.edu">I am a student at Columbia College of Missouri.</a> 
    </p> 
</body> 

所以这是我在javaScript中做了类似的工作

var myGlobalNameHolder =""; 

function myFunction(){ 
var myString = prompt("Enter a name", "Name Goes Here"); 
    myGlobalNameHolder = myString; 
    if (myString != null) { 
     document.getElementById("replaceME").innerHTML = 
     "Hello " + myString + ". Welcome to my site"; 

     document.getElementById("belong").innerHTML = 
     "A place you belong"; 
    } 
} 

// create a function to pass our event too 
function myFunction2(event) { 
// variable to make our event short and sweet 
var x=window.onbeforeunload; 
// logic to make the confirm and alert boxes 
if (confirm("Are you sure you want to leave my page?") == true) { 
    x = alert("Thank you " + myGlobalNameHolder + " for visiting!"); 
} 
} 
相关问题