我有一个网页,页面上有一些jQuery,根据里面的文本执行div的大小调整(读得多/读少)。
我使用的是自定义的本地字体,90%的时间它运行良好,但有时它高估了所需的空间。
使用调试器,我发现只有当脚本在页面显示我正在使用的任何字体或图标(在“资源”文件夹中)之前执行时,才会发生这种情况。Chrome调试器显示呈现的字体是"DejaVu Sans“。我假设它使用这个计数来执行jQuery,然后它用我的自定义字体替换字体。
我想这是某种形式的字体加载时间问题,而且由于不一致,这也与缓存有关。但我在这里能做什么呢?在dom准备好之前,是否有什么方法可以确保资源被加载和可用?
发布于 2015-10-07 13:23:38
这只是JQuery在加载字体之前运行的一个问题。我使用网页字体装载机自定义模块(因为我的字体不在google或字体松鼠上)和回调来解决这个问题。
发布于 2015-10-05 15:46:08
我已经有一段时间没有这样做了,但是您必须使用http://www.fontsquirrel.com/tools/webfont-generator优化它,如果您的字体在https://www.google.com/fonts上可用,那么就用它代替。
发布于 2015-10-05 15:46:23
$().ready()
和朋友将在解析DOM之后立即运行;它不会等到图像、样式表和其他东西加载之后才运行。您可能需要查看JS本机load
事件。从MDN文档:
当资源及其依赖资源完成加载时,就会触发load事件。
所以,像这样的东西应该有效:
<script>
document.addEventListener("load", function(event) {
console.log("DOM, images, stylesheets etc. all present");
});
</script>
https://stackoverflow.com/questions/32952361
复制相似问题