今天早上,当我将Firefox浏览器升级到最新版本(从22升级到23)时,我的后台办公室(网站)的一些关键方面停止了工作。

查看Firebug日志,报告了以下错误:

Blocked loading mixed active content "http://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
Blocked loading mixed active content "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"`

在其他错误中,由上述两个中的后者未加载引起。

上述问题是什么意思?我该如何解决?


当前回答

这意味着你从https调用http。你可以在你的脚本标签中使用src="//url.to/script.js",它会自动检测。

或者你可以在你的src中使用https,即使你将它发布到一个http页面。这将避免评论中提到的潜在问题。

其他回答

由于安全性,它给出了误差。 为此,请在网站url中使用“https”而不是“http”。

例如:

   "https://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
   "https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"

@Blender评论是最好的方法。永远不要在代码的任何地方硬编码协议,因为如果你从http转移到https,它将很难改变。因为您需要手动编辑和更新所有文件。

这总是更好的,因为它自动检测协议。

src="//code.jquery.com

如果你的应用服务器是weblogic,那么确保WLProxySSL ON条目存在(也要确保它不应该被注释)在webserver的conf目录下的weblogic.conf文件中。然后重新启动web服务器,它将工作。

在相关页面,使混合内容https到http调用,这是不可访问的,我们可以添加以下条目在相关和摆脱混合内容错误。

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

将下面的<meta>标记放入文档的<head>部分,强制浏览器将不安全连接(http)替换为安全连接(https)。如果连接能够使用https,这可以解决混合内容的问题。

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

如果你想要阻塞,那么将下面的标签添加到<head>标签中:

<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">