1

我在使用 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 中一切正常

4

0 回答 0