Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
Jquery 资源在我的页面中加载太慢_Jquery_Html_Css - Fatal编程技术网

Jquery 资源在我的页面中加载太慢

Jquery 资源在我的页面中加载太慢,jquery,html,css,Jquery,Html,Css,我有一个网页,页面上有一些jQuery,它根据放置在其中的文本来调整div的大小(多读/少读) 我使用的是自定义的本地字体,90%的时候效果很好,但其他时候它高估了所需的空间 使用调试器,我发现只有当脚本在页面显示我正在使用的任何字体或图标(在我的参考资料文件夹中)之前执行时,才会发生这种情况。Chrome调试器显示渲染字体为“DejaVu Sans”。我假设它使用这个计数来执行jQuery,然后用我的自定义字体替换字体 我猜这是字体方面的某种加载时间问题,因为它不一致,这也与缓存有关。但是我能

我有一个网页,页面上有一些jQuery,它根据放置在其中的文本来调整div的大小(多读/少读)

我使用的是自定义的本地字体,90%的时候效果很好,但其他时候它高估了所需的空间

使用调试器,我发现只有当脚本在页面显示我正在使用的任何字体或图标(在我的参考资料文件夹中)之前执行时,才会发生这种情况。Chrome调试器显示渲染字体为“DejaVu Sans”。我假设它使用这个计数来执行jQuery,然后用我的自定义字体替换字体


我猜这是字体方面的某种加载时间问题,因为它不一致,这也与缓存有关。但是我能在这里做什么呢?在dom准备就绪之前,是否有办法确保资源已加载且可用?

我已经有一段时间没有这样做了,但您必须使用 如果您的字体在上可用,请改为使用该字体。

$()。ready()
解析DOM后,friends将立即运行;它不会等到图像、样式表和其他东西被加载。您可能希望签出JS本机事件。从MDN文档:

加载事件在资源及其从属资源完成加载时触发

因此,类似这样的方法应该会奏效:

<script>
  document.addEventListener("load", function(event) {
    console.log("DOM, images, stylesheets etc. all present");
  });
</script>

document.addEventListener(“加载”),函数(事件){
log(“DOM、图像、样式表等都存在”);
});

这只是在加载字体之前运行JQuery的问题。
我使用了自定义模块(因为我的字体不在google或font squirrel上)和回调来解决这个问题。

此评论更多地涉及如何解释和分析您的问题:在这种情况下,JSP是不相关的,因为问题发生在客户端呈现JSP时,而不是呈现JSP时。这使得问题出现在生成的HTML/CSS/JavaScript等等。我只是在想,当它从服务器中提取资源时,服务器和框架在优化方面可能会有一些重要性。但是,我删除了以使其更具体。从不触发,我猜div不会触发加载事件。什么
?为什么要在
而不是整个文档或窗口上附加
加载
的侦听器?如果在计算字符数和调整div大小之前要等到文档加载字体等,那么就要等到文档加载,而不是div。哦,我明白了,你的意思是像使用$(window).load()一样。实用,但我认为性能的影响会有点太大。从我的web应用程序外部加载字体真的会更快吗?取决于服务器。我建议使用谷歌字体