修复网站相关问题仍然是一种新事物。我发现在 IE 11 中清除缓存并加载我的网站后,Google 字体在我的网页最终加载前 240 秒下载。我包括图像:
有人可以告诉我我做错了什么吗?
谢谢!
IE11 与 Google 字体有一些问题,尤其是SSL上的字体。您可以尝试以下解决方案:
示例用法:
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"></script>
<script>
WebFont.load({
google: {
families: ['Droid Sans', 'Droid Serif']
}
});
</script>
如果此解决方案有效,您可以为 IE11 实现一个特定的案例。
在 jQuery 的帮助下:
$('head').append('<style></style>')
从验证结果来看:
3. [Error]: Element style not allowed as child of element div in this context. (Suppressing further errors from this subtree.)
From line 162, column 5; to line 162, column 11
...
5. [Error]: End tag "a" violates nesting rules.
From line 463, column 3; to line 463, column 89
<a href="https://nutikell.com/nutikellad/nutikell-westyx-king/" class="main-thumbnail">
6. [Fatal Error]: Cannot recover after last error. Any further errors will be ignored.
From line 463, column 3; to line 463, column 89
浏览器插件:脚本拦截器或广告拦截器等 IE 插件也可能会延迟加载字体文件并导致请求超时。检查你是否有一个。
最大 http 连接数:每个浏览器单次都有最大 http 连接数限制。例如,您的网站有 21 个非常高的CSS 文件。您可以从 Firefox 的 devtools(F12 > Network Monitor > CSS)中看到它。也许 IE11 不能同时获取所有的 CSS 文件。您可以使用任务运行器来加入/缩小您的 CSS 文件。
在其他机器上测试:查看Browserstack以在其他机器上测试。如果您更喜欢本地开发,Microsoft 提供免费下载虚拟机来测试 IE。
EOT 和 WOFF 字体在 IE 中无法通过 HTTPS 加载:一篇旧帖子可以给出一个想法:我们在所有版本的 Internet Explorer (7-11) 中都遇到了相同的问题,即 EOT 和 WOFF 字体无法通过 HTTPS 加载。经过数小时的反复试验并将我们的标头与其他工作站点进行比较后,我们发现是vary
标头搞砸了。取消设置这些文件类型的标头立即解决了我们的问题。
如果您的服务器是 Apache,则下面的代码将放入.htaccess
文件中:
<FilesMatch "\.(woff)$">
Header unset Vary
</FilesMatch>
<FilesMatch "\.(eot)$">
Header unset Vary
</FilesMatch>
在那篇文章中有很多针对这种情况的解决方案。您也可以检查它们。