#jekyll #github-pages
#jekyll #github-страницы
Вопрос:
Я получил следующий код внутри одной из моих функций js для извлечения новых сообщений, когда пользователь нажимает Load more
кнопку
$.get("/blog/page" nextPage, function (data) {
Код работает нормально, когда я тестирую его локально.
Когда я отправляю его на gh-страницы, он выглядит нормально. Но когда я нажимаю Load more
кнопку, я получаю следующую ошибку:
Mixed Content: The page at 'https://username.github.io/sub-name/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://username.github.io/sub-name/blog/page2/'. This request has been blocked; the content must be served over HTTPS.
Я добавил baseurl
в _config.yml
файл, но это не решает проблему.
Комментарии:
1. не могли бы вы добавить репозиторий? у меня есть идея (плохая ссылка), но нужен код для подтверждения
Ответ №1:
В https://railsr.github.io , который вы используете _includes/head.html
для доступа к своим css
файлам, и js
для файлов установлено http
значение «из вашего config
файла». Вместо этого используйте независимый от протокола //
Комментарии:
1. Это частное хранилище. Не могу поделиться им. Я заметил, что gh-pages вынуждает использовать точность https для этого репозитория. Но, например railsr.github.io/autm-rb использует http. Я попытался переключить его на общедоступный, но это не решает проблему
Ответ №2:
Я решил использовать другой подход и теперь просто имею posts.json
файл в корне проекта, который генерирует список сообщений.
---
---
[
{% for post in site.posts %}
{
"title": "{{ post.title }}",
"summary": "{{ post.summary }}",
...
}
{% unless forloop.last %},{% endunless %}
{% endfor %}
]
А затем в одном из моих js-файлов используйте
$.getJSON("{{site.baseurl}}/posts.json", function(data) {
а затем отправляйте данные в массив сообщений и отображайте сообщения партиями (загружайте первые 4 сообщения, а затем загружайте еще 4 при нажатии кнопки «загрузить больше»)
(Без разбивки на страницы)