今天早上,将我的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"`
除了上面两个中的后者未被加载之外的其他错误 .
以上是什么意思,我该如何解决?
13 回答
如果要允许混合内容请求,请将以下标记添加到 <head> 标记中 .
如果要阻止,请将以下标记添加到 <head> 标记中:
@Blender 评论是最好的方法 . 永远不要在代码中的任何地方对协议进行硬编码,因为如果从
http
移动到https
,将难以更改 . 因为您需要手动编辑和更新所有文件 .这总是更好,因为它会自动检测协议 .
由于安全性,它给出了错误 . 为此,请在网站网址中使用“https”而不是“http” .
例如 :
如果您通过AJAX使用内部服务,请确保该URL指向https,这为我清除了错误 .
初始AJAX URL:“http://XXXXXX.com/Core.svc/”ApiName
更正了AJAX URL:“https://XXXXXX.com/Core.svc/”ApiName,
在相关页面中,混合内容https到http调用不可访问,我们可以在相关中添加以下条目并摆脱混合内容错误 .
当我的网站从http转到https时,我遇到了同样的问题 . 我们为将http重定向到https的所有请求添加了规则 .
您需要为站点间请求添加重定向规则,但您必须删除外部js / css的重定向规则 .
我发现如果您在使用 http ://www.example.com之类的内容中包含或混合您的页面时遇到问题,可以通过改为 //www .example.com来解决这个问题 .
如果您的应用服务器是weblogic,那么请确保webserver的conf目录中的weblogic.conf文件中存在WLProxySSL ON条目(并且还要确保它不应该被注释) . 然后重启web服务器,它会工作 .
我发现this blog post清除了一些东西 . 引用最相关的位:
在我的案例中,决议只是确保
jquery
包含如下(注意删除协议):请注意,临时'fix'是单击地址栏左上角的'shield'图标并选择'Disable Protection on This Page',尽管由于显而易见的原因推荐这是 not .
更新:来自Firefox(Mozilla)支持页面的This link也可用于解释构成混合内容的内容,并且如上段所述,实际上提供了有关如何显示页面的详细信息,无论如何:
如果没有白名单功能,您必须选择“全部”或“无”选项 . 您可以完全禁用混合内容阻止 .
The Nothing Choice
您需要永久禁用当前活动配置文件的混合内容阻止 .
在“Awesome Bar”中输入“about:config” . 如果这是您第一次收到“这可能会使您的保修失效!”信息 .
是的,你会小心的 . 是的,你保证!
找到 security.mixed_content.block_active_content . 将其值设置为 false .
The All Choice
iDevelApp的答案太棒了 .
要强制重定向https协议,您还可以在根文件夹的.htaccess中添加此指令
这意味着您正在通过https呼叫http . 您可以在脚本标记中使用
src="//url.to/script.js"
,它将自动检测 .或者你可以在你的使用中使用https
src
即使您将其发布到http页面 . 这将避免评论中提到的潜在问题 .我有同样的问题,因为我买了一个CSS模板,它通过
http://whatever.js.com/javascript.js
抓取了一个外部javascript文件的javascript . 我在我的浏览器中访问了该页面,然后使用SSL将其更改为https://whatever...
并且它工作正常,因此在我的HTML javascript标记中,我只是将URL更改为使用https
而不是http
并且它有效 .