2017-08-07 3 views
0

ホスティングプロバイダが許可していないため、最初は自分のサイトにSSL証明書がありませんでした。JavaScriptを使用して混在コンテンツのHTMLを変更する

ドメインをCloudFlareに転送しました&は自分のサイトにSSL証明書を持っています。サイト内のコンテンツは<img src="**https**://www.example.com/image.png(ない<img src="http://www.example.com/image.png">)のようにする必要がありますSSL証明書の場合

、それ以外の場合は、混合コンテンツに関する問題が表示されます。..

だから、ルールに従うことによって、私は同じことをしました..しかし、下部にいくつかの第三者広告は、http://接続を含むホスティングプロバイダによって所有されていました。結果として、ブラウザで信頼できない証明書エラーが発生しました。

ホスティングプロバイダは、支払いやその他の方法でこれらのアイテムを編集または削除することを許可していません。

しかし、CloudFlareにはすべて<script src="http://www.example.com/script.js"></script>が自動的に<script src="https://www.example.com/script.js"></script>に変更されるシステムがあります。しかし、私の問題は、<img src="http://www.example.com/image.png"><img src="https://www.example.com/image.png">に変更できないということです。

<img src="http://www.example.com/image.png"><img src="https://www.example.com/image.png">に変更することは可能ですか?私はJavaScriptを使用すると、それは解決されますか?

+0

あなたは 'src'とシーイングを設定してくださいました何が起こるのですか?私がすべきはい、それはそれはタグ内ではありません –

+0

'それはpossible'は<!DOCTYPE htmlの!>今ですか? –

答えて

0

ドキュメントHTMLでString.replaceを使用してみてください。

編集:より多くの研究の際に、ご使用しようとする場合があります:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

代わりにJavaScriptのソリューションの

document.documentElement.innerHTML = document.documentElement.innerHTML.replace("http://", "https://"); 
 
console.log(document.documentElement.innerHTML);
<html> 
 
<head></head> 
 
<body> 
 
</body> 
 
</html> 
 
<img src="http://somethingsomething">

+1

可能..ですそれは外タグです..私は意味 {ここで広告} .. - –

+0

@ user8427031 'document.documentElement.innerHTML'を使ってみてください –

+1

ありがとう、ありがとう。とった。 –

関連する問題