惰性加载组件加载

本文关键字:加载 组件 | 更新日期: 2023-09-27 17:54:14

我正在用c#和MVC5构建一个新闻网站。我也使用MsSQL。在这个项目中,我把所有的东西都作为一个局部视图,当我需要的时候,我调用组件并把它放入需要的部分。(将组件绑定到db等的节)

现在我几乎完成了,我遇到了性能问题。其中之一是从jquery延迟加载。

我通过底部滚动网页,在主部分懒惰加载工作,但在右手边,有组件(如,大多数阅读新闻,大多数评论新闻),他们不懒惰加载,直到滚动主部分结束。在主部分完成滚动后,在右侧,组件图像开始出现。

我怎样才能解决这个问题?

EDIT: I use;jquery.lazyload.js和在视图(cshtml)我使我的img标签如下;

<img class="lazy" src="/assets/img/lazyload.gif" data-original="blabla.jpg"/>

惰性加载组件加载

我查看了Jquery的文档。

:

滚动页面插件循环后,当图像不连续时虽然卸载图像。循环检查图像是否可见。通过当发现视口外的第一张图像时,默认循环停止。这是基于以下假设。页面上的图像顺序相同作为HTML代码中图像的顺序。一些布局假设是这样的可能是错的。你可以用failure_limit控制加载行为设置。

$("img.lazy").lazyload({
    failure_limit : 10
});

设置failure_limit为10会导致插件停止搜索图像在找到10张图片后加载。如果你有一个时髦的布局将这个数字设置得很高。最坏的情况是实际情况图片数量。

来源:http://www.appelsiini.net/projects/lazyload


因此我假设你的侧边栏是在html页面的底部定义的,因此直到你向下滚动时才加载。


小更新:

在文档中有如下提示:由于你没有在html或css中定义宽度/高度,它可能无法在所有浏览器中正常工作。

职业技巧!你必须设置图像的宽度和高度属性或在CSS中。否则插件可能无法正常工作。

来源:http://www.appelsiini.net/projects/lazyload