JavaScript 如何检查图像是否已加载

JavaScript 如何检查图像是否已加载

概述

通过使用JavaScript来检查图像是否已加载以执行某些操作。在许多情况下,由于图像的大小过大或网络连接质量差,我们的浏览器无法成功加载图像。因此,我们的图像有时可能会显示一些错误。为了知道我们的图像是否已加载,我们有一些方法,例如onload()、onerror()和complete属性。

语法

解决问题的语法如下:

  • onload=”function()” - 当图像成功加载时,调用此函数。在其中,可以传递任何回调函数以执行特定的操作。

  • onerror=”function()” - 当图像由于任何原因无法加载时触发此函数。

  • selector.complete - selector.complete方法选择具有类名、id或标签名的图像,然后检查图像是否已完全加载。

检查已加载的图像有两种方法

方法1 - 在此方法中,我们将使用两种方法 onload()onerror() 。在这两种方法中,将传递一个函数作为参数,在浏览器加载时调用该函数,并检查图像是否已加载。

步骤

  • 步骤1 - 在HTML中创建一个图像标签,并在src属性中插入图像的链接或路径<image src="在这里放入链接"/>

  • 步骤2 - 访问图像标签并将其存储在变量中。

  • 步骤3 - 在addEventListener()中使用load()方法和error()方法。

  • 步骤4 - 如果在加载浏览器时图像成功加载,load事件将触发并返回特定的动作;否则,如果图像无法加载,则将触发error事件。

示例

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Check whether image is loaded or not</title>
   <style>
      body{
         min-height: 90vh;
         display: flex;
         flex-direction: column;
         place-content: center;
         background-color: #0a0a0a;
         color: white;
         text-align: center;
      }
      img{
         width: 50%;
         height: 70%;
         border-radius: 8px;
         margin: auto auto ;
         box-shadow: 0 0 8px white;
      }
   </style>
</head>
   <body>
      <img src= "https://www.tutorialspoint.com/images/logo.png" id="sample" onload="checkLoad()" onerror="checkError()" alt="error">  
      <h2 id="output"></h2>

      <script>
         document.getElementById("sample").addEventListener("load", () => {
            document.getElementById("output").innerText="Image Loaded Sucessfully";
         })
         document.getElementById("sample").addEventListener("error", () => {
            document.getElementById("output").innerText="Error occured while loading image!";
         })
      </script>
   </body>
</html>

在网络浏览器中加载图像时没有错误。因此,在这个示例中,addEventListener()中的load()方法会触发输出“图像加载成功”。

方法2 - 在这种方法中,我们调用图像对象的complete()方法,它检查图像是否完全加载,并根据情况返回true或false。当图像在加载过程中遇到任何问题时,它返回false,否则返回true。

步骤

  • 步骤1 - 在HTML中创建一个图像标签,并在src属性中插入图像的链接或路径 <image src=“put your link here”/>

  • 步骤2 - 访问图像标签并将其存储在变量中。

  • 步骤3 - 使用图像对象的complete()方法。如果图像在浏览器中加载,则在浏览器上提示true,否则在浏览器上提示false。

示例

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Check whether image is loaded or not</title>
   <style>
      body{
         min-height: 90vh;
         display: flex;
         flex-direction: column;
         place-content: center;
         background-color: #0a0a0a;
         color: white;
         text-align: center;
      }
      img{
         width: 50%;
         height: 70%;
         border-radius: 8px;
         margin: auto auto ;
         box-shadow: 0 0 8px white;
      }
   </style>
</head>
   <body>
      <img src= "https://www.tutorialspoint.com/images/logo.png" id="sample" onload="checkLoad()" onerror="checkError()" alt="error">  
      <h2 id="output"></h2>

      <script>
         var i = document.getElementById("sample");
         var load = i.complete;
         alert(load);
      </script>
   </body>
</html>

上述代码显示了complete()方法返回true的情况下的输出。

结论

complete()方法的返回类型是布尔值,根据当前情况返回true或false。在某些情况下,如图像的URL错误,网络连接差,图像未在指定目录中存在,无法加载图像。上述解决方案在许多情况下都很有帮助,因为它在图像完全加载时触发特定操作。JavaScript中的图像对象包含许多方法,可以帮助操作DOM中的图像。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程