12

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%;
}
4

3 に答える 3

5

あなたの公開例では、静的アセットが http バージョンにリダイレクトされているため、Chrome が文句を言います。

たとえば、https ://www.bayerglucofacts.com/assets/css/de-de.css にアクセスすると、 http: //www.bayerglucofacts.com/assets/css/de-de.css に 302 リダイレクトされます。エラーが発生します。

于 2012-10-22T16:04:12.393 に答える
2

私も同じ問題を抱えていましたが、これは<base>サイトの非 SSL バージョンを指すタグが原因でした。

ただし、ScottR が指摘したように、これは CSS が非 SSL バージョンにリダイレクトされたためです。現在は修正されているようですが、彼の回答を受け入れることを忘れないでください!

于 2014-01-02T10:24:14.827 に答える