Веб-шрифты Google на HTTPS-страницах в Chrome
Я работаю над проектом ecommmerce. Части сайта по умолчанию являются HTTP. Другие, такие как страница проверки, по умолчанию HTTPS. На страницах HTTPS я получаю это сообщение на консоли в Chrome:
[blocked] The page at https://store-ws3q9h.mybigcommerce.com/checkout.php?tk=c99fa39e007db6376dcddaac68695c22 ran insecure content from http://fonts.googleapis.com/css?family=PT+Sans.
[blocked] The page at https://store-ws3q9h.mybigcommerce.com/checkout.php?tk=c99fa39e007db6376dcddaac68695c22 ran insecure content from http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,300,700.
[blocked] The page at https://store-ws3q9h.mybigcommerce.com/checkout.php?tk=c99fa39e007db6376dcddaac68695c22 ran insecure content from http://fonts.googleapis.com/css?family=Patua+One.
Шрифты связаны на головке документа таким образом:
<link href='http://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,300,700' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Patua+One' rel='stylesheet' type='text/css'>
Он выглядит нормально в других браузерах, которые я тестировал до сих пор.
Ответы
Ответ 1
Создать агностический URL-адрес схемы
Измените http://fonts.google...
на //fonts.google...
Отбросьте http:
или https:
с фронта, браузер будет использовать любую схему, которую вы сейчас используете на сайте.
Вы можете запрашивать ресурсы, используя https
от http
, но не другие наоборот. Альтернативой вышеупомянутому решению (и, вероятно, лучшей практике) является просто использование https
, если он доступен (что должно быть, если вы используете этот стиль ссылки, иначе в этом нет смысла).
Ответ 2
Удалите протокол со своего URL-адреса и пусть браузер определит его:
<link href="//fonts.googleapis.com/css?family=PT+Sans" ...
Если ваша страница HTTPS, шрифт будет загружен с URL-адреса HTTPS. Если страница является HTTP, она будет загружена из URL-адреса HTTP.