У меня есть скрипт, который создает архив всех моих сообщений, с некоторой помощью нам удалось заставить его снова работать после смены доменного имени и перехода с https на https. Вы можете прочитать об этом здесь JavaScript Blogger не работает с http на https
Теперь проблема в том, что не загружается текстовый формат, он выводит неформатированный текст, выглядящий уродливо.
Пробовал поместить css как отдельный скрипт, но это не имеет значения (и смысла).
Это страница, где находится скрипт: https://www.tecnoriales.com/p/sitemap.html
Стилевую часть скрипта можно найти в конце ниже.
<script>
var LoadTheArchive = function(TotalFeed) {
var PostTitles = new Array();
var PostURLs = new Array();
var PostYears = new Array();
var PostMonths = new Array();
var PostDays = new Array();
if ("entry" in TotalFeed.feed) {
var PostEntries = TotalFeed.feed.entry.length;
for (var PostNum = 0; PostNum < PostEntries; PostNum++) {
var ThisPost = TotalFeed.feed.entry[PostNum];
PostTitles.push(ThisPost.title.$t);
PostYears.push(ThisPost.published.$t.substring(0, 4));
PostMonths.push(ThisPost.published.$t.substring(5, 7));
PostDays.push(ThisPost.published.$t.substring(8, 10));
var ThisPostURL;
for (var LinkNum = 0; LinkNum < ThisPost.link.length; LinkNum++) {
if (ThisPost.link[LinkNum].rel == "alternate") {
ThisPostURL = ThisPost.link[LinkNum].href;
break
}
}
PostURLs.push(ThisPostURL);
}
}
DisplaytheTOC(PostTitles, PostURLs, PostYears, PostMonths, PostDays);
}
var DisplaytheTOC = function(PostTitles, PostURLs, PostYears, PostMonths, PostDays) {
var MonthNames = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
var NumberOfEntries = PostTitles.length;
var currentMonth = "";
var currentYear = "";
for (var EntryNum = 0; EntryNum < NumberOfEntries; EntryNum++) {
NameOfMonth = MonthNames[parseInt(PostMonths[EntryNum], 10) - 1]
if (currentMonth != NameOfMonth || currentYear != PostYears[EntryNum]) {
currentMonth = NameOfMonth;
currentYear = PostYears[EntryNum];
document.write("<div class='dateStyle'><br />" + currentMonth + " " + currentYear + " </div>");
}
document.write('<a href = "' + PostURLs[EntryNum] + '"><div class=dayStyle>' + parseInt(PostDays[EntryNum], 10) + ": </div>" + PostTitles[EntryNum] + "</a><br />");
}
}
</script>
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=500&alt=json-in-script&callback=LoadTheArchive" />
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=151&alt=json-in-script&callback=LoadTheArchive" />
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=301&alt=json-in-script&callback=LoadTheArchive" />
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=451&alt=json-in-script&callback=LoadTheArchive" />
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=601&alt=json-in-script&callback=LoadTheArchive" />
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=851&alt=json-in-script&callback=LoadTheArchive" />
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=1001&alt=json-in-script&callback=LoadTheArchive" />
<!--CUSTOMIZATION-->
<style type = "text/css">
.dateStyle {
color: #000;
font-weight: bold;
font-size: 15px;
font-family: Trebuchet MS, sans-serif;
margin: 0;
}
.dayStyle {
color: #000;
font-weight: bold;
font-family: Trebuchet MS, sans-serif;
display: inline-block;
}
</style>
Он должен загружать форматированный текст со шрифтом Trebuchet MS, выделяя месяцы и даты полужирным шрифтом, а также используя только одну строку для каждого элемента, а не две.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Оказывается, это не что-то не так с вашими объявлениями CSS или чем-то подобным, как я подозревал. Проблема связана с вашими вызовами сценария фида. Вместо использования /> в конце каждого используйте ></script>, как показано в примере кода ниже.
Поскольку они вызывались неправильно, это также мешало правильной работе вашего CSS, поскольку он был определен ниже скриптов.
<script>
var LoadTheArchive = function(TotalFeed) {
var PostTitles = new Array();
var PostURLs = new Array();
var PostYears = new Array();
var PostMonths = new Array();
var PostDays = new Array();
if ("entry" in TotalFeed.feed) {
var PostEntries = TotalFeed.feed.entry.length;
for (var PostNum = 0; PostNum < PostEntries; PostNum++) {
var ThisPost = TotalFeed.feed.entry[PostNum];
PostTitles.push(ThisPost.title.$t);
PostYears.push(ThisPost.published.$t.substring(0, 4));
PostMonths.push(ThisPost.published.$t.substring(5, 7));
PostDays.push(ThisPost.published.$t.substring(8, 10));
var ThisPostURL;
for (var LinkNum = 0; LinkNum < ThisPost.link.length; LinkNum++) {
if (ThisPost.link[LinkNum].rel == "alternate") {
ThisPostURL = ThisPost.link[LinkNum].href;
break
}
}
PostURLs.push(ThisPostURL);
}
}
DisplaytheTOC(PostTitles, PostURLs, PostYears, PostMonths, PostDays);
}
var DisplaytheTOC = function(PostTitles, PostURLs, PostYears, PostMonths, PostDays) {
var MonthNames = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
var NumberOfEntries = PostTitles.length;
var currentMonth = "";
var currentYear = "";
for (var EntryNum = 0; EntryNum < NumberOfEntries; EntryNum++) {
NameOfMonth = MonthNames[parseInt(PostMonths[EntryNum], 10) - 1]
if (currentMonth != NameOfMonth || currentYear != PostYears[EntryNum]) {
currentMonth = NameOfMonth;
currentYear = PostYears[EntryNum];
document.write("<div class='dateStyle'><br />" + currentMonth + " " + currentYear + " </div>");
}
document.write('<a href = "' + PostURLs[EntryNum] + '"><div class=dayStyle>' + parseInt(PostDays[EntryNum], 10) + ": </div>" + PostTitles[EntryNum] + "</a><br />");
}
}
</script>
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=500&alt=json-in-script&callback=LoadTheArchive"></script>
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=151&alt=json-in-script&callback=LoadTheArchive"></script>
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=301&alt=json-in-script&callback=LoadTheArchive" ></script>
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=451&alt=json-in-script&callback=LoadTheArchive" ></script>
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=601&alt=json-in-script&callback=LoadTheArchive" ></script>
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=851&alt=json-in-script&callback=LoadTheArchive" ></script>
<script src = "https://tecnoriales.com/feeds/posts/default?max-results=150&start-index=1001&alt=json-in-script&callback=LoadTheArchive" ></script>
<!--CUSTOMIZATION-->
<style type = "text/css">
.dateStyle {
color: #000;
font-weight: bold;
font-size: 15px;
font-family: Trebuchet MS, sans-serif;
margin: 0;
}
.dayStyle {
color: #000;
font-weight: bold;
font-family: Trebuchet MS, sans-serif;
display: inline-block;
}
</style>
Я должен добавить, что код, которым вы поделились здесь, не точен. В вашем файле Sitemap вы вызываете эти скрипты внутри тега скрипта через форматирование HTML, которое не работает, точно так же, как вы пишете CSS внутри тега скрипта... что также не работает. Напишите весь свой CSS вне скриптов, так как они не имеют никаких изменений переменных, основанных на элементах и их текущих состояниях.