【问题标题】:Javascript redirect to SSL causing 'partially encrypted' errorJavascript 重定向到 SSL 导致“部分加密”错误
【发布时间】:2010-08-18 01:10:24
【问题描述】:

我的网站登录使用 AJAX 发布凭据。然后它会检查要返回的“错误/成功”,然后采取相应措施。

在我想添加 SSL 之前,这一直运行良好。

原码:

if (output == 'success')
   window.location=window.location;

替换代码:

if (output == 'success')
   window.location=String(window.location).replace('http://', 'https://');

这会将用户重定向到 SSL 页面,但会导致 Firefox 出现 content was partially encrypted 错误。

如何使用 Javascript 重定向到 SSL 页面而不给出警告?

【问题讨论】:

    标签: javascript ssl redirect


    【解决方案1】:

    您的代码看起来不错。

    通常问题是 SSL 页面上的某些内容(Javascript 库、CSS 文件、图像等)未使用 SSL。

    使用 Firebug 的“net”标签来检查 SSL 页面上加载的所有内容。正在使用 http://

    引用某些内容

    【讨论】:

    • SSL 页面上的所有 GET 请求都显示它从 HTTPS 拉取。没有 HTTP。如果我在页面加载后手动刷新页面,它可以正常工作。
    • 这里有一个类似的问题:forum.civicrm.org/index.php?topic=12063.0 在另一个浏览器中尝试您的页面。是 FF 特有的吗?
    • 刚刚在 Chrome 和 Internet Explorer 中尝试过。 Chrome 的 URL 栏亮起,没有错误,而 IE 亮起,出现部分加密的错误。 Firebug 的 net 选项卡显示没有加载任何 HTTP 内容。页面源 /does/ 链接到 HTTP 内容(超链接,未加载内容)以及 DOCTYPE 和 HTML XLMNS 引用 http:// 但这不会导致错误,对吧? ://
    • 嗯。不幸的是没有好主意。我建议你尝试一些逐步改进。例如,从一个空的 SSL 目标页面开始,并不断添加 SSL 页面的内容,直到出现错误。我同意文档类型无关紧要。但是您可以尝试更改它以确保确定。也尝试一些其他的事情:清空 FF 缓存;在第一页使用 ssl 加载 JS 脚本。我很困惑 https 页面上的 GET 在直接时可以正常工作,但在重定向时不能正常工作。也许尝试 Fiddler 来真正了解所请求的内容——在某些情况下比 Firebug 网络选项卡更可靠。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多