Событие загрузки изображения после загрузки изображения - PullRequest
6 голосов
/ 18 мая 2011

У меня есть сценарий, который присоединяет обработчики событий onload ко всем изображениям на странице, однако, поскольку это сценарий GreaseMonkey, он может запускаться только после того, как изображения есть, поэтому некоторые из них, возможно, уже загружены, есть ли способ вызвать событие onload, если изображение уже загружено?

Ответы [ 3 ]

1 голос
/ 18 мая 2011

Если вы не против использования фреймворка, такого как jQuery, есть функция triggerHandler (), которая должна делать то, что вам нужно.

Вам понадобится тест, чтобы проверить, было ли загружено изображение в ваш скрипт (должна быть возможность узнать подробности о том, как это сделать с помощью Google) - если оно не было загружено, просто присоедините загрузку обработчик события; если он был загружен, вы можете либо присоединить обработчик события onload, а затем запустить его с помощью функции triggerHandler () jQuery, либо выполнить код / ​​функцию, которая была бы выполнена обработчиком события onload - что, скорее всего, зависит от того, что вы Обработчик события onload делает.

0 голосов
/ 15 марта 2014

У меня только что возникла та же проблема, и Google отвел меня туда.

Я не хотел использовать jQuery, поэтому я искал другое решение. В конце концов, в моем случае я просто изменил атрибут изображения «src» на любое фиктивное изображение (например, 1pix.png) непосредственно перед установкой нужного изображения в «src», чтобы вызвать перезагрузку для каждого изображения. Конечно, это не очень хорошая идея, если у вас есть большие изображения и / или если вы часто загружаете изображения ... Но в моем случае это нормально, я думаю (более того, я думаю, что основной механизм кэширования браузера позволяет избежать реальной перезагрузки изображения. ..).

Надеюсь, что это может помочь другим!

PS: Кажется, что это похоже на обходной путь @Bugster, но я не совсем понял!

0 голосов
/ 18 мая 2011

Это событие загрузки. Я бы не подумал, что это событие сработает более одного раза.

Вы можете присоединить свой сценарий к событию загрузки тела / документа и затем перебрать все изображения, а затем, возможно, присоединить ваши обработчики событий.

...