Протокол относительного URL-адреса не работает в Chrome

Люблю искать ответы в Stackru, но это мой первый пост. Надеюсь, другие найдут это полезным!

У меня есть сайт, который должен быть https, потому что на нем размещены приложения для Facebook. Я настроил его (выделенный сертификат IP и SSL), но когда я зашел по нему через https, я получил следующее предупреждение:

Эта страница содержит небезопасный контент.

Я провел некоторое исследование и обнаружил, что это общая проблема. Исправление наших внутренних файлов не имеет большого значения, но мы в значительной степени полагаемся на внешние ресурсы, такие как библиотека jquery (которая является http, а не https). Я использовал метод относительного URL протокола (не могу опубликовать ссылку, потому что я ограничен двумя гиперссылками, поэтому см. Комментарий ниже), который, кажется, работает для многих людей. Однако, когда я внес изменения в Chrome, я все еще получаю это предупреждение: [заблокировано] На странице по адресу https://www.greetfeet.com/ запущен небезопасный контент с http://code.jquery.com/mobile/1.1.0/jquery.mobile.structure-1.1.0.min.css

Если у меня возникнет эта проблема, я могу только предположить, что мои клиенты будут так же. Есть идеи, как это исправить?

Спасибо!

2 ответа

Решение

Google размещает часто используемые библиотеки (включая jQuery и jQueryUI) по HTTP и HTTPS, например:

https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js

(Используйте это всегда, когда это возможно, ваши пользователи могут уже иметь его в своем кэше браузера, что ускоряет загрузку вашего сайта.)

Другие вещи, которые вам могут понадобиться, если они не являются надежно доступными для общественности через HTTPS.

Относительный URL-адрес протокола необходим только в том случае, если некоторые люди получают доступ к вашему сайту через HTTP, а другие - по HTTPS: если сделать ссылки на ресурсы "относительными по протоколу", люди будут запрашивать ресурс, используя тот же протокол, который они использовали для получения самой страницы ссылки. Если ваш сайт только для HTTPS, вам даже не нужно использовать относящиеся к протоколу URL-адреса, вы можете жестко закодировать https: // везде. Но это не больно, так что вы можете использовать его, тем не менее.

URL-адрес https для JQuery? Если это не работает, проблема на сайте, а не в вашем коде. Если сайт отправляет страницы с http: URL-адресами, не относительными, и вы получаете к нему доступ через https, вы заняты поиском смешанного контента. Либо не посещайте эти сайты, либо не используйте HTTPS.

Другие вопросы по тегам