5

簡単な遅延読み込み JavaScript をいくつか用意しました。

script.type = 'text/javascript';
script.src = 'https://example.com/'+urlToJavascript;
script.onreadystatechange = callback;
script.onload = callback;   
head.appendChild(script);

SSL は私のドメインhttps://example.com/で実行されています。httpsscript.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でないリクエストが行われ、コンテンツが混在しているためブロックされていることがわかりました。

これまでにこれに遭遇したことはなく、なぜこれが起こっているのかわかりません。

これが起こっている理由は何ですか?

4

1 に答える 1

3

サーバーレベルでのいくつかの書き換えが原因である可能性があります。私も同じ問題に直面しました.nginxが何らかの形でURLをhttpに変換していました. リソース URL をブラウザーに直接ロードして、リダイレクトが発生しているかどうかを確認してください。はいの場合は、サーバーに戻ってリダイレクトを修正します。

于 2017-01-05T09:36:35.650 に答える