Согласно этой MDN-странице , похоже, что createObjectURL
не поддерживается в Opera или в некоторых версиях Safari. Это само по себе может быть вашей главной проблемой. Вы смотрели в консоли ошибок, чтобы увидеть, если он жалуется на отсутствие метода createObjectURL
. Если этот метод не существует, вы никогда не получите назначение для .src
, поэтому никогда не будет успешного события загрузки.
Кроме того, я не могу сказать наверняка, но это также выглядит как потенциальная проблема для меня. Вам может понадобиться сохранить созданный объект Image где-нибудь, чтобы он сохранялся. Как ваш код написан выше, сборщик мусора может свободно избавиться от объекта img, потому что на него больше нет ссылок.
Возможно, вы не показали нам весь свой код, но как он у вас написан, какой смысл загружать изображение, которое вы никогда не будете использовать?
Итак, я бы предложил либо изменить способ работы вашего кода, чтобы не использовать изображение, которое вы не собираетесь использовать. Или, фактически, сохраните вновь созданный тег img где-нибудь, чтобы он сохранялся и не собирал мусор.
Я бы также спросил, откуда вы знаете, что изображение успешно загружается? Если вы не используете изображение, откуда вы знаете, что оно успешно загружается.