Определить, загружено ли свойство Image src

Чтобы определить, загружено ли свойство «src», вы можете использовать несколько методов в зависимости от используемого вами языка программирования или платформы. Вот несколько примеров:

  1. JavaScript:

    var image = document.getElementById("myImage");
    if (image.complete) {
    console.log("Image has been loaded");
    } else {
    image.addEventListener("load", function() {
    console.log("Image has been loaded");
    });
    }

    В этом примере мы проверяем свойство completeэлемента изображения. Если это true, это означает, что изображение уже загружено. В противном случае мы добавляем прослушиватель событий «загрузка», который срабатывает после завершения загрузки изображения.

  2. jQuery:

    var image = $("#myImage");
    if (image[0].complete) {
    console.log("Image has been loaded");
    } else {
    image.on("load", function() {
    console.log("Image has been loaded");
    });
    }

    Этот пример похож на предыдущий, но использует jQuery. Мы выбираем элемент изображения с помощью селектора $("#myImage"), а затем получаем доступ к собственному элементу DOM с помощью [0]. Мы проверяем свойство completeи подключаем обработчик события «load», если изображение еще не загружено.

  3. Угловой (TypeScript):

    import { Component, ViewChild, ElementRef, AfterViewInit } from '@angular/core';
    @Component({
    selector: 'app-image',
    template: '<img #myImage src="path/to/image.jpg">'
    })
    export class ImageComponent implements AfterViewInit {
    @ViewChild('myImage') image: ElementRef;
    ngAfterViewInit() {
    if (this.image.nativeElement.complete) {
      console.log("Image has been loaded");
    } else {
      this.image.nativeElement.addEventListener("load", () => {
        console.log("Image has been loaded");
      });
    }
    }
    }

    В этом примере Angular мы используем декоратор ViewChild, чтобы получить ссылку на элемент изображения. После инициализации представления (ngAfterViewInit) мы проверяем свойство completeи при необходимости добавляем прослушиватель событий «load».