我有一些简单的延迟加载 javascript:
script.type = 'text/javascript';
script.src = 'https://example.com/'+urlToJavascript;
script.onreadystatechange = callback;
script.onload = callback;
head.appendChild(script);
SSL 在我的域https://example.com/上运行。尽管https
在 script.src 我得到这个混合内容错误:
The page at 'https://example.com/' was loaded over HTTPS, but requested an insecure script 'http://example.com/js/lazyScript.js'. This request has been blocked; the content must be served over HTTPS.
我运行console.log(script)
,它显示:
<script type="text/javascript" src="https://example.com/js/lazyScript.js"></script>
然后我转到检查器的网络选项卡,发现最初的请求https://example.com/js/lazyScript.js
已发出但随后被取消,然后是不安全的请求,http://example.com/js/lazyScript.js
然后由于混合内容而被阻止。
我以前从未遇到过这种情况,也不知道为什么会发生这种情况。
为什么会发生这种情况?