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


QQ截图20121203132411.png

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

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

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

internet-explorer-6 https

流浪的流浪狗 10 years, 6 months ago

看了下京东的登录页面,他们是用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;
                    }
..... (以下省略)
原来我是奶茶 answered 10 years, 6 months ago

Your Answer