Я использую JavaScript для создания объекта изображения, а затем использую jQuery для изменения его атрибутов, включая функцию .load. После неудачной попытки найти консоль ошибок Safari (версия 5.0.5) (наиболее разочаровывающей, когда, в конце концов, ее было нетрудно найти), мы обнаружили, что Safari прервал свой JavaScript при обнаружении незакрытых тегов img, что, конечно, устарела в HTML5. Я бы просто добавил тег img в функцию, если это не делает добавление функции загрузки довольно кошмарным, если не невозможным. Есть идеи?
function loadImageTitle(imgsrc, element, width, height, title) {
var img = new Image();
$(img)
.load(function () {
$(this).hide();
$(element).replaceWith(this);
})
.css({ 'max-width': width, 'max-height': height })
.attr("title", title)
.attr("alt", title)
.attr("src", imgsrc);
}
На самом деле я был не совсем уверен насчет самой основной части этого. Проблема в том, что JavaScript делает img без косой черты (в Safari 5.0.5, в FF 4.0.1, в IE8 и в Chrome 13 - так везде, как я могу сказать), как и в HTML5, необязательно. Safari не соглашается и завершает работу сценария.