我有一个有很多医学视频的页面,这些视频是通过javascript输入网站的,这导致网站变得非常慢。我正在使用blazy.js来添加延迟加载到视频中,它在chrome中工作,但在safari和火狐中,它只显示一个空白页面,直到所有内容都加载完毕。
编辑:1这是视频的加载方式
<div id="A_b9c76c75" ></div>
<script type="text/javascript"
src="https://viewmedica.com/js/vm.js"></script>
<script type="text/javascript" >client = "1202";
openthis = "A_b9c76c75";
width = 720;
vm_open()</script>
编辑结束1
我试着切换到lazyload.js版本8(版本10不支持safari和火狐),但同样的事情正在发生。
lazyload.js版本:
<!--lazy loading-->
<script>
(function(w, d){
var b = d.getElementsByTagName('body')[0];
var s = d.createElement("script"); s.async = true;
var v = !("IntersectionObserver" in w) ? "8.11.0" : "10.11.1";
s.src = "https://cdnjs.cloudflare.com/ajax/libs/vanilla-lazyload/" + v + "/lazyload.min.js";
w.lazyLoadOptions = {}; // Your options here. See "recipes" for more information about async.
b.appendChild(s);
}(window, document));
</script>
<script>
var myLazyLoad = new LazyLoad({
elements_selector: ".lazy"
});
</script>
然后我将"lazy“类添加到所有iframe中。
blazy.js版本:
新增cdn:
https://cdn.jsdelivr.net/npm/blazy@1.8.2/blazy.min.js
然后将类"b-lazy“添加到所有iframe中。
发布于 2018-08-01 07:43:05
我不确定您是如何将视频添加到html中的,但是您可以使用video元素的preload属性。链接地址:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#attr-preload
此外,您还可以设置poster属性,以便在加载视频时添加占位符。
<video preload="auto" poster="my-placeholder.jpg">
<source src="my-video.mp4" type="video/mp4">
</video>
https://stackoverflow.com/questions/51623078
复制相似问题