#javascript #blogger #blogspot
#javascript #blogger #blogspot
Вопрос:
Я совсем не знаком с Javascript. У меня есть скрипт в Blogger для генерации ссылки на случайный пост, но из-за ограничений Blogger я не могу получить более 100 последних сообщений из вызова JSON. Я хочу попытаться обойти это, случайным образом назначив начальную точку. Рассматриваемая часть является:
<script src='/feeds/posts/summary?alt=json-in-scriptamp;amp;callback=rp_results_labelamp;amp;start-index=200'/>
Как я могу заменить эти 200 случайно сгенерированным числом?
Спасибо
Ответ №1:
Использование Math.random поможет достичь того, что вам требуется. Также добавление max-results=1
параметра запроса к URL канала ограничит результаты одним сообщением. Поскольку мы не можем добавлять переменные Javascript непосредственно в script
src тега, нам придется загрузить его через JavaScript.
<script>
var ascript = document.createElement('script');
ascript.src = '/feeds/posts/summary?alt=json-in-scriptamp;max-results=1amp;callback=rp_results_labelamp;start-index=' Math.floor(Math.random() * Math.floor(201));
ascript.async=true;
var loc = document.getElementsByTagName('script')[0]; loc.parentNode.insertBefore(ascript, loc);
</script>
Вы можете заменить 201
любым целым числом от 1
до (total number of published posts on the blog) 1
Комментарии:
1. Звучит здорово, но когда я заменяю исходный код на ваш пересмотренный, функциональность нарушается. Вся часть кода находится здесь: pastebin.com/DGNY29ey Я недостаточно умен, чтобы выяснить, почему это не работает сейчас. Я думал, что правильно добавил ваш код.
2. Не могли бы вы поделиться URL-адресом блога, на котором возникает эта проблема?