Firefox と IE では完全に正常に読み込まれるサイトがありますが、Chrome によってブロックされています。Chrome は混合モードのコンテンツについて不平を言っていますが、すべてのリソースは同じドメイン内の相対 URL によってアクセスされます。
私の理解では、相対 URL は、読み込まれる「メイン」ページと同じプロトコルを使用する必要があります。その場合、私は次のことを持っています:
<link href="/assets/css/small.css" title="Small" rel="alternate stylesheet" type="text/css" />
<link href="/assets/css/large.css" title="Large" rel="alternate stylesheet" type="text/css" />
どちらも相対 URL です。ページが HTTPS 経由で読み込まれると、Chrome コンソールから次のように表示されます (クライアントのプライバシーのためにドメイン名を変更します)。
[ブロック] https://www.example.com/Login/ のページは安全ではありませんでした http://www.example.com/assets/css/small.css のコンテンツ。 [ブロック] https://www.example.com/Login/ のページで安全でないコンテンツが実行されました http://www.example.com/assets/css/large.css。
相対 URL が要求されたプロトコルを尊重する必要があるという仮定は間違っていますか?
更新: 同じ方法で参照される .js ファイルもブロックしています。
<script src="/assets/scripts/change-text-size.js" type="text/javascript"></script>
がブロックされています:
[ブロック] https://www.example.com/Login/ のページで、http://www.example.com/assets/scripts/change-text-size.js の安全でないコンテンツが実行されました。
もう1つの奇妙なことは、問題が発生しているページでソースを表示すると、相対URLが表示され、カーソルをアセット(スタイルシート、.jsファイル)への「リンク」の上に置くと、ツールチップが言うことですhttps: です。
更新 2: .css ファイルには何も参照されていません。上記の「small.css」ファイルの内容全体は次のとおりです。
div#content-wrap,
div#content-one-col
{
font-size: 65%;
}