динамическое переключение (http) с содержимого страниц на безопасный протокол (javascript) - PullRequest
0 голосов
/ 08 июня 2011

Я собираюсь динамически изменять протоколы в источнике всех страниц Blogger.

Например, все http:// изменить на https:// для следующих позиций:

Ответы [ 2 ]

12 голосов
/ 08 июня 2011

Лучший выбор для вас - использовать 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>

Так что не нужно ничего динамически менять.

1 голос
/ 08 июня 2011

Вам нужно подойти самостоятельно, если вы не хотите подходить к первому ответу. Например, изменение содержимого тела (лучше хранить внутри 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>

EDIT

Сначала очистите все метки головы, используя этот код

document.getElementsByTagName("head")[0].innerHTML = "";

Вы можете использовать следующий код для динамической загрузки скрипта (необходимо сохранить имена скриптов в статическом массиве или прочитать их из тега head перед очисткой)

var head= document.getElementsByTagName('head')[0];
   var script= document.createElement('script');
   script.type= 'text/javascript';
   script.src= 'https://....filenames.js';
   head.appendChild(script);
...