起初,我的网站中没有任何 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">
.
是否可以修改<img src="http://www.example.com/image.png">
进入<img src="https://www.example.com/image.png">
使用JavaScript?如果我使用JavaScript会解决这个问题吗??
最佳答案
尝试在文档 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">
关于javascript - 使用 JavaScript 修改混合内容 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45540490/