2017-08-07 5 views
0

Zuerst hatte ich kein SSL-Zertifikat auf meiner Site, weil Hosting-Provider es nicht erlaubten.Mixed-Content-HTMLs mit JavaScript ändern

Also, ich habe meine Domain zu CloudFlare & übertragen ein SSL-Zertifikat für meine Website.

Für ein SSL-Zertifikat des Inhalt in der Website wie <img src="**https**://www.example.com/image.png sein sollte (nicht <img src="http://www.example.com/image.png">), sonst wird es ein Problem, über Mixed-Inhalt anzeigen ..

Also, von den Regeln, habe ich die gleiche Sache .. Aber unten wurden einige Drittanbieter-Anzeigen im Besitz von Hosting-Anbietern platziert, die http:// Verbindung enthält. Als Ergebnis habe ich einen Browserfehler mit einem nicht vertrauenswürdigen Zertifikat erhalten.

Hosting-Anbieter dürfen diese Elemente nicht bearbeiten oder entfernen, indem Sie zahlen oder etwas anderes.

Aber CloudFlare hat bereits ein System, um alle in <script src="https://www.example.com/script.js"></script> automatisch zu ändern. Aber mein Problem ist, es kann nicht <img src="http://www.example.com/image.png"> in <img src="https://www.example.com/image.png"> ändern.

Ist es möglich, <img src="http://www.example.com/image.png"> in <img src="https://www.example.com/image.png"> mit JavaScript zu ändern ?? Und wird es gelöst werden, wenn ich JavaScript verwende?

+0

Haben Sie versucht, die Einstellung der 'src' und zu sehen, was geschieht? –

+0

'Ist es possible' - ja es möglich ist, –

Antwort

0

Verwenden Sie String.replace im HTML-Dokument des Dokuments.

Edit: Nach mehr Forschung, möchten Sie vielleicht versuchen, mit:

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

Anstatt eine JavaScript-Lösung

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

Es Tags nicht drin ist .. es Tags draußen ist .. Ich meine {Hier Ads} .. was soll ich gerade jetzt? –

+0

@ user8427031 Versuchen Sie es mit 'document.documentElement.innerHTML' –

+1

OK, danke. Ich habs. –