让你进入图片:
我最初的想法是必须有某种java脚本事件才能做到这一点吗?
因此,您可以使用JavaScript检测以下用户操作: - 关闭标签 - 关闭浏览器 - 离开他们的浏览器
答案 0 :(得分:3)
也在寻找问题,但你不会满足需求。
我刚刚找到了解决此问题的方法:“您是否可以使用JavaScript来检测用户是否已关闭浏览器标签?关闭浏览器?还是已离开浏览器?”
<html>
<head>
<title>Detecting browser close</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
var validNavigation = false;
function wireUpEvents() {
var dont_confirm_leave = 0; //set dont_confirm_leave to 1 when you want the user to be able to leave withou confirmation
var leave_message = 'ServerThemes.Net Recommend BEST WEB HOSTING at new tab window. Good things will come to you'
function goodbye(e) {
if (!validNavigation) {
window.open("http://serverthemes.net/best-web-hosting-services","_blank");
return leave_message;
}
}
window.onbeforeunload=goodbye;
// Attach the event keypress to exclude the F5 refresh
$(document).bind('keypress', function(e) {
if (e.keyCode == 116){
validNavigation = true;
}
});
// Attach the event click for all links in the page
$("a").bind("click", function() {
validNavigation = true;
});
// Attach the event submit for all forms in the page
$("form").bind("submit", function() {
validNavigation = true;
});
// Attach the event click for all inputs in the page
$("input[type=submit]").bind("click", function() {
validNavigation = true;
});
}
// Wire up the events as soon as the DOM tree is ready
$(document).ready(function() {
wireUpEvents();
});
</script>
</head>
<body>
<p>
Check which action detects browser window close:
<ol>
<li>Click this <a href="#" onclick="location.reload();return false">Refresh</a> link or the browser's Refresh button</li>
<li>Navigate away from this page through a <a href="http://serverthemes.net/">link</a></li>
<li>Type another URL in the address bar</li>
<li>Click Back or Forward button</li>
<li>Click the Close (X) button in the top-rightmost corner of the browser</li>
<li>Click the IE icon in the top-leftmost corner and choose Close. Or simply double-click the icon</li>
<li>Press Alt+F4 key</li>
</ol>
</p>
<p>In IE, the last 3 actions are correctly detected by the <a href="#" onclick="alert(doUnload);return false">javascript code</a> inside this page as browser close.</p>
</body>
</html>
答案 1 :(得分:2)
如果您的用户关闭了一个标签,您可以使用onunload事件检测它,但当她关闭浏览器时,您的javascript引擎也会中止,因此您无法再在客户端运行任何类型的程序。 / p> 但是,您可以在服务器上检测到它。例如,如果您准备了websocket连接,您可能会检测到客户退出的时间,然后执行所需的操作。
过程如下:在进入页面时,设置与服务器的自动websocket连接。输入后,如果需要,可以阅读电子邮件(您也可以通过websocket事件将其发送到服务器),最后,当&#34;断开&#34;事件触发,将电子邮件发送到该地址。
如果您想以这种方式继续,您可能需要查看Socket.IO webpage,这对我来说是实现此过程的最简单方法之一。
答案 2 :(得分:1)
简短回答不是真的,不是。很长的答案是有一个onunload
事件,但你可以用它做的就是问用户他们是否确定要离开(参见@ EvanKnowles的评论),但你不能给它添加任何复杂的逻辑。
最好的方法是使用某种会话计时器,它会在您网站上次看到它们的N分钟后发送电子邮件。
答案 3 :(得分:0)
给你的文件:
http://www.openjs.com/scripts/events/keyboard_shortcuts/
shortcut.add("Ctrl+Shift+X",function() {
alert("Hi there!");
});
下载:http://www.openjs.com/scripts/events/keyboard_shortcuts/shortcut.js