Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html @字体面导致加载时间缓慢_Html_Css_Font Face_Page Load Time - Fatal编程技术网

Html @字体面导致加载时间缓慢

Html @字体面导致加载时间缓慢,html,css,font-face,page-load-time,Html,Css,Font Face,Page Load Time,最近,我开始注意到网站在某个时候加载速度非常慢 我已经用firebug对此进行了调查,当页面需要很长时间才能加载时,就会显示: 这看起来完全是随机的,但对webfont.woff的请求却一直在等待。如果我尝试手动访问此资源,它可以正常工作,并在100毫秒内响应。我所说的页面是,自定义字体来自主域maikelzweerink.nl 面部字体在default.css中声明,也来自主域: @font-face { font-family: 'Proximanova Regular';

最近,我开始注意到网站在某个时候加载速度非常慢

我已经用firebug对此进行了调查,当页面需要很长时间才能加载时,就会显示:

这看起来完全是随机的,但对webfont.woff的请求却一直在等待。如果我尝试手动访问此资源,它可以正常工作,并在100毫秒内响应。我所说的页面是,自定义字体来自主域maikelzweerink.nl

面部字体在default.css中声明,也来自主域:

@font-face {
    font-family: 'Proximanova Regular';
    src: url('//maikelzweerink.nl/general/font/Proximanova-Regular/webfont.eot');
    src: url('//maikelzweerink.nl/general/font/Proximanova-Regular/webfont.eot?#iefix') format('embedded-opentype'),
         url('//maikelzweerink.nl/general/font/Proximanova-Regular/webfont.woff') format('woff'),
         url('//maikelzweerink.nl/general/font/Proximanova-Regular/webfont.ttf') format('truetype'),
         url('//maikelzweerink.nl/general/font/Proximanova-Regular/webfont.svg#ProximaNovaRgRegular') format('svg');
}
即使使用了正确的HTTP头

在同一笔交易中:

MIME类型在字体上设置为text/plain,而不是它们应该是什么

在.htaccess文件(假设为Apache)中,添加:


这将解决问题,并确保字体在所有浏览器中都工作。

不仅仅是字体

如果我在Chrome中一遍又一遍地重新加载页面,我也会看到图像被卡住


您可以在这里看到这个瀑布中的图像速度很慢-

我使用base64编码将字体嵌入CSS以减少请求量。base64的缺点是需要花费更多的初始带宽,但是,嘿,它可以工作!这把它修好了

当然,我对180KB大小的CSS文件不是很满意:/

编辑:
原来是ISP出了问题。当我手动加载字体时,它从缓存中检索到它(该死的chrome!)。不知何故,这些字体在ISP服务上不直接可用,从硬盘请求/读取需要一段时间。

您需要像这样预加载或预取字体

<link rel="preload" as="font" href="/fonts/Pacifico-Regular.ttf" type="font/ttf" crossorigin="anonymous">


更多信息

将这些内容类型标题添加到my.haccess文件中,并且这些标题在请求中可见,但这似乎无法解决我的问题?即使在完全清除缓存后。啊,那太糟糕了。好吧,这将解决你没有的问题,所以这是一件好事!更新:woff的mime类型现在是
application/font-woff
。阅读:字体是最终加载还是永远不会加载?对.woff文件的请求永远不会结束,但字体会加载到屏幕上。如果它来自缓存或其他文件格式,我没有任何线索。奇怪。您是否尝试将字体文件放在不同的服务器(例如Amazon S3帐户)上,以查看是否得到相同的结果?这不是因为HTML中的图像加载是同步的,并且首先开始加载css,因为它位于HEAD标记中吗?加载字体失败后,它会加载图像,但这会导致大量的阻塞时间,因为图像正在等待字体请求完成。如果查看请求18,您会发现等待服务器开始发回图像需要2.3秒。开始渲染将等待CSS,但字体(在本例中)是在页面开始渲染后加载的,可能CSS正在缓存,而字体文件不是。我有类似的问题。当通过wifi加载我的字体时,JS脚本有时会挂起30秒(声明中的
@font-face
CSS文件会下载,但我猜,直到30秒超时,字体才会被解析),然后向服务器发出请求(本地)。如果我将相同的文件推送到远程服务器并通过数据加载页面,问题就会消失。这是我在iOS(9.2.1)Safari上遇到的一个问题。Base64编码似乎有所帮助,但即使我删除了
@font-face
文件,它仍然挂起,尽管挂起的频率要低得多。
<link rel="preload" as="font" href="/fonts/Pacifico-Regular.ttf" type="font/ttf" crossorigin="anonymous">