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:浏览器将使用您当前在网站上使用的任何模式。

您可以使用httpshttp请求资源,但不能反过来。 上面的解决scheme(也许最好的做法)的一个替代方法就是总是使用https如果它是可用的(这一定是如果你使用这种风格的链接,否则没有任何意义)。

从你的URL中删除协议,并让浏览器确定它:

 <link href="//fonts.googleapis.com/css?family=PT+Sans" ... 

如果您的页面是HTTPS,则将从HTTPS URL加载该字体。 如果该页面是HTTP,则将从HTTP URL加载。