我对IE9有这个奇怪的问题(没有在任何其他IE中测试它) - 当我登录到网站时,每当我刷新页面时,以下代码都会触发:
jQuery(window).bind("beforeunload", function() {
$.get('session_destroy.php', function() {
// alert('done');
});
});
有趣的是,当我调用开发人员工具F12 - 然后刷新时,我可以看到对session_destroy.php的快速调用 - 但它不会在刷新时将我注销!
这是我的文件定义:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> //- note this i need because on intranet sites IE gt 8 force compatibility mode of IE7 - this makes all jquery sucks..
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
不知道这是否相关,但有时候我必须登录两次,因为它从第一次开始就没有... 我还使用ajax登录:
$(document).ready(function(){
$("#submit").click(function(){
username = $("#username").val();
password = $("#password").val();
$.ajax({
type: "POST",
url: "login_db.php",
data: "username="+username+"&password="+password,
success: function(html){
if(html.length>0)
{
switch(html)
{
case "1": tab = "Production";
break;
case "2": tab = "Recordings";
break;
default: tab = "Summary";
}
window.location.hash = '';
var url=window.location;
window.location.href= url+tab;
location.reload();
}
else
{
$("#add_err").html("Wrong username or password");
}
}
});
return false;
});
});
Firefox和Chrome中的一切正常