js如何阻止图片的其他资源的加载(DOMContentLoaded)

作者

js中使用DOMContentLoaded事件,可以阻止图片等资源的加载,因为DOMContentLoaded事件只在加载图片资源之前执行的。下面给出一个测试的代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script>
        //window.addEventListener('DOMContentLoaded', function (event) {
        //document.addEventListener('DOMContentLoaded', function (event) {
        addEventListener('DOMContentLoaded', function (event) {
            var myimg = document.getElementById('myimg');
            myimg.src='https://www.baidu.com/img/bd_logo1.png';
        });
    </script>
</head>
<body>
<img src='file_not_exists.jpg' id='myimg' />
</body>
</html>

执行这段代码,可以看到两点
1. 终显示的是图片是bd_logo1.png
2. 图片 file_not_exists.jpg 是被阻止加载了。
通过浏览器看看终的执行

js阻止图片的加载

可以看到的显示的 (canceled) 。表示取消的对原图的加载。

当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表、图像和子框架的完成加载。另一个不同的事件 load 应该仅用于检测一个完全加载的页面。 在使用 DOMContentLoaded 更加合适的情况下使用 load 是一个令人难以置信的流行的错误,所以要谨慎。注意:DOMContentLoaded 事件必须等待其所属script之前的样式表加载解析完成才会触发。

了解更多

https://developer.mozilla.org/zh-CN/docs/Web/Events/DOMContentLoaded
https://www.cnblogs.com/Bonnie3449/p/8419609.html

回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注