动态切换(http)页面内容到安全协议(javascript)

动态切换(http)页面内容到安全协议(javascript),javascript,dynamic,https,protocols,Javascript,Dynamic,Https,Protocols,我将动态更改Blogger上所有页面的源代码中的协议 例如,所有http://更改为以下项目的https://: 如果可能的话,在内部javascript变量上 您的最佳选择是使用协议相关的aka协议不可知URL: <link rel="..." type="..." href="//www.blogger.com/..." /> <script src="//www.blogger.com/..."></script> <iframe src

我将动态更改Blogger上所有页面的源代码中的协议

例如,所有http://更改为以下项目的https://:

  • 如果可能的话,在内部javascript变量上

您的最佳选择是使用协议相关的aka协议不可知URL:

<link rel="..." type="..." href="//www.blogger.com/..." />
<script src="//www.blogger.com/..."></script>
<iframe src="//www.blogger.com/..."></iframe>
<a href='//www.blogger.com/...'></a>


因此,无需动态更改任何内容。

如果不想接近第一个答案,则需要独立接近。 例如,更改主体内容(最好保持在div中)并使用javascript函数,如下面的页面加载事件。对于head标记下的脚本标记,您需要使用其他方法(如加载JSON)动态加载它们

<html>
<body>
<div id="content">
......
....
</div>
</body>
</html>
<script>
function replaceHTTPS()
{
  var oldContent = document.getElementById ("content").innerHTML;
  var newContent = oldContent.replace("http",/https/g);
document.getElementById ("content").innerHTML = newContent;


}
</script>
您可以使用以下代码动态加载脚本(需要将脚本名称存储在静态数组中,或者在清除之前从head标记读取它们)


为什么要使用javascript?我可能遗漏了一些东西,但我认为使用服务器端语言会更好。虽然可以做到,但它不是很健壮,也不像php或其他大多数服务器端语言那样直观。@stefgosselin很好,但blogger上没有!谢谢,但是在blogger中没有任何静态编辑这些项目的方法!我怎么不知道这个通用解决方案!谢谢我想这对我来说是最好的答案!但是这条鳕鱼在头部不起作用。。。你能在页面的所有部分编辑它吗?
document.getElementsByTagName("head")[0].innerHTML = "";
var head= document.getElementsByTagName('head')[0];
   var script= document.createElement('script');
   script.type= 'text/javascript';
   script.src= 'https://....filenames.js';
   head.appendChild(script);