【发布时间】:2015-12-04 04:20:04
【问题描述】:
我有一个带有 HTTPS URL 的 iframe,它显示为 HTTP。我似乎无法弄清楚为什么它将我的 HTTPS 链接显示为 HTTP 并因此引发混合内容错误。提前致谢。
<html>
<head>
<script type="text/javascript">
//<![CDATA[
try{if (!window.CloudFlare) {var CloudFlare=[{verbose:0,p:0,byc:0,owlid:"cf",bag2:1,mirage2:0,oracle:0,paths:{cloudflare:"/cdn-cgi/nexp/dok3v=1613a3a185/"},atok:"648d22a7cbd8d39ff6c1d603172e4867",petok:"c4b2f316536247173a516f5b497b137d814de31b-1441717697-86400",betok:"907c8bfe67d347db6e2954b8e5aae965c633df1e-1441717697-120",zone:"addmilk.nl",rocket:"0",apps:{"ga_key":{"ua":"UA-64317812-1","ga_bs":"2"}}}];!function(a,b){a=document.createElement("script"),b=document.getElementsByTagName("script")[0],a.async=!0,a.src="//ajax.cloudflare.com/cdn-cgi/nexp/dok3v=e9627cd26a/cloudflare.min.js",b.parentNode.insertBefore(a,b)}()}}catch(e){};
//]]>
</script>
<script type="text/javascript">
/* <![CDATA[ */
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-64317812-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
(function(b){(function(a){"__CF"in b&&"DJS"in b.__CF?b.__CF.DJS.push(a):"addEventListener"in b?b.addEventListener("load",a,!1):b.attachEvent("onload",a)})(function(){"FB"in b&&"Event"in FB&&"subscribe"in FB.Event&&(FB.Event.subscribe("edge.create",function(a){_gaq.push(["_trackSocial","facebook","like",a])}),FB.Event.subscribe("edge.remove",function(a){_gaq.push(["_trackSocial","facebook","unlike",a])}),FB.Event.subscribe("message.send",function(a){_gaq.push(["_trackSocial","facebook","send",a])}));"twttr"in b&&"events"in twttr&&"bind"in twttr.events&&twttr.events.bind("tweet",function(a){if(a){var b;if(a.target&&a.target.nodeName=="IFRAME")a:{if(a=a.target.src){a=a.split("#")[0].match(/[^?=&]+=([^&]*)?/g);b=0;for(var c;c=a[b];++b)if(c.indexOf("url")===0){b=unescape(c.split("=")[1]);break a}}b=void 0}_gaq.push(["_trackSocial","twitter","tweet",b])}})})})(window);
/* ]]> */
</script>
</head>
<body>
<iframe src="https://cdn.addmilk.nl/track?id=1&preview_id=150908_thuiscomfort_tell_badkamer_728x90&preview_name=Thuiscomfort%20-%20Tell%20-%20Badkamer%20-%20728x90" frameborder="0" width="1" height="1"></iframe>
</body>
</html>
即使我的 src URL 是通过 HTTPS 加载的,我在加载页面时也会收到以下错误:
混合内容:“https://demo.addmilk.nl/test.html”处的页面是 通过 HTTPS 加载,但请求了不安全的资源 'http://cdn.addmilk.nl/track/?id=1&preview_id=150908_thuiscomfort_tell_badkamer_728x90&preview_name=Thuiscomfort%20-%20Tell%20-%20Badkamer%20-%20728x90'。 此请求已被阻止;内容必须通过 HTTPS 提供。
【问题讨论】:
-
必须是你的缓存,它对我来说很好(除了 404,但它是 https,所以我认为它很好)
-
欢迎来到 SO。请访问help center 看看可以在这里提出什么样的问题。您的主题无关紧要,因为它不涉及任何代码
-
也发生在我测试它的所有其他计算机或地址上。
-
@apachenick,你有没有弄清楚是什么原因造成的?
-
在这里查看我的答案:stackoverflow.com/questions/35042344/…,这对我有用。不完全确定根本原因......如果有人知道我很乐意更新我的答案