html5 - 为什么加上preload之后window.load会变慢?
怪我咯
怪我咯 2017-04-17 11:03:16
[HTML讨论组]

代码如下:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    #video {
        width: 300px;
        height: 300px;
    }
    </style>
</head>
<body>
    <video id="video" class=""  
         controls preload="none"
         poster="test.jpg"  
         >  
        <source src="test.mp4" type='video/mp4' />  
        <source src="test.webm" type='video/webm' />  
        <source src="test.ogv" type='video/ogg' />  
       </video>
<script>
    window.addEventListener('load', function() {
        console.log('===load====');
    }, false);
</script>
</body>
</html>

如果不加preload控制台会立刻打印输出,加上preload="none"之后反而延时输出。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
阿神

当所有 objects (images, video, auduo, JavaScript文件) 被下载后,Window.load 被触发. 把preload设置成none, 也就是说video不被预先下载。这样Window.load就会等到video Timeout以后,才会触发。
$(document).ready() 要比 Window.load早,为当DOM成功加载后. 你应该用下面代码来Debug.

<script>
    $(document).ready(function() {
        console.log('===load====');
    });
</script>
黄舟

别用 'preload="none"',这个html5特性在IE和火狐里都没有很好的支持。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号