У меня была именно эта проблема, и после часов игры с различными опциями это было окончательное решение:
Структура кода Orig:
Примечание: это работало во всех браузерах, кроме одного, разработанного нашими друзьями в Microsoft.
var img = new Image();
var url = 'http://i.imgur.com/DQP7F.jpg';
$( img )
/*wait for image to load*/
.load( function () {
alert( 'All loaded' );
})
/*problem getting img?*/
.error( function() {
alert( 'Bad things' );
})
/*set img src*/
.attr( 'src' , url );
.
с исправлением:
var img = new Image();
var url = 'http://i.imgur.com/DQP7F.jpg';
$( img )
/*wait for image to load*/
.load( function () {
alert( 'I fire after the image has fully loaded' )
})
/*problem getting img?*/
.error( function() {
alert( 'Bad things' );
})
/*set img src*/
.attr( 'src' , url );
/*IE hack; really hate you right now IE*/
if( $.browser.msie && parseInt( $.browser.version ) < 10 ){
img.src = url;
}
Вы можете спросить: «Почему parseInt ($ .browser.version) <10 </em>, а не 9?» ... ну, я просто не доверяю IE, точка.Я бы предпочел просто дать IE9 исправление, а не решать какие-либо проблемы, связанные с IE.
Надеюсь, это кому-нибудь поможет.