IE6中从https跳转到非https的链接时出现安全提示的问题?

QQ截图20121203132411.png

项目的登录页面使用了https,登录成功后跳转到其它http的页面去。
在ie6中会有安全警报。

查看微软的说明(http://support.microsoft.com/kb/88374...)好像只是说电脑的问题,而非代码的问题。

我在同样这样处理的京东淘宝上去验证了一下,却没有出现上述问题,所以很想知道他们是如何避免出现这样问题的。

阅读 5.2k
评论
    1 个回答
    • 13.1k

    看了下京东的登录页面,他们是用ajax POST(详见这里)来提交用户名和密码进行登录,登录完毕以后 window.location = xxx; 跳转。由于不是通过http协议的location进行的重定向,浏览器大概就不管了。

    相关代码列出供参考。

    $("#loginsubmit").click(function () {
        var loginUrl = "../uc/loginService";
        var flag = loginNameOk() && validateFunction.FORM_validate();
        if (flag) {
            var srcValue = $("#JD_Verification1").attr("src");
            if (!srcValue) {
                srcValue = $("#JD_Verification1").attr("src2");
            }
            var uuid = srcValue.split("&uid=")[1].split("&")[0];
            $(this).attr({ "disabled":"disabled" });
            $.ajax({
                type:"POST",
                url:loginUrl + "?uuid=" + uuid + "&" + location.search.substring(1) + "&r=" + Math.random(),
                contentType:"application/x-www-form-urlencoded; charset=utf-8",
                data:$("#formlogin").serialize(),
                error:function () {
                    $("#loginpwd").attr({ "class":"text highlight2" });
                    $("#loginpwd_error").html("网络超时,请稍后再试").show().attr({ "class":"error" });
                    $("#loginsubmit").removeAttr("disabled");
                    $this.removeAttr("disabled");
                },
                success:function (result) {
                    if (result) {
                        var obj = eval(result);
                        if (obj.success) {
                            window.location = obj.success;
                            return;
                        }
                        if (obj.transfer) {
                            window.location = obj.transfer + window.location.search;
                            return;
                        }
    ..... (以下省略)
      撰写回答

      登录后参与交流、获取后续更新提醒