Chrome上的HTTPS页面上的Google Web字体
我正在做一个电子商务项目。 该网站的部分默认为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'>
在目前为止我testing过的其他浏览器上看起来还不错。
创build一个模式不可知的url
将//fonts.google...
更改为//fonts.google...
从前面删除http:
或https:
浏览器将使用您当前在网站上使用的任何模式。
您可以使用
https
从http
请求资源,但不能反过来。 上面的解决scheme(也许最好的做法)的一个替代方法就是总是使用https
如果它是可用的(这一定是如果你使用这种风格的链接,否则没有任何意义)。
从你的URL中删除协议,并让浏览器确定它:
<link href="//fonts.googleapis.com/css?family=PT+Sans" ...
如果您的页面是HTTPS,则将从HTTPS URL加载该字体。 如果该页面是HTTP,则将从HTTP URL加载。