使用JavaScript

时间:2017-08-07 06:18:57

标签: javascript html mixed-content

起初我在我的网站上没有任何SSL证书,因为托管服务提供商不允许这样做。

所以,我已将我的域名转移到CloudFlare&获得了我网站的SSL证书。

对于SSL证书,网站中的内容应该类似于<img src="**https**://www.example.com/image.png(不是<img src="http://www.example.com/image.png">),否则会显示有关混合内容的问题。

因此,遵循规则,我做了同样的事情。但是在底部,一些第三方广告由托管服务提供商拥有,其中包含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">

是否可以使用JavaScript将<img src="http://www.example.com/image.png">修改为<img src="https://www.example.com/image.png">?如果我使用JavaScript,它会被解决吗?

1 个答案:

答案 0 :(得分:1)

尝试在文档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">