Функция jquery .load, сбой кэша в IE - PullRequest
2 голосов
/ 16 января 2012

Я использую функцию jquery ".load", чтобы задержать "исчезновение" изображений до их загрузки.Однако он работает нормально во всех браузерах, только IE создает проблемы - это кеш ... пока я понял проблему ... но как ее решить?Есть ли плагин для решения этой проблемы?

здесь пример кода:

// this is the user thumbnail, which will be loaded from the database, with a random number as filename.
if (thumb_medium == '1') {  

    // create picture link.
    var pic = Math.floor( Math.random() * (1000000) );
    var image_link = "image/image_show.php?id=" + id + "&element=image_profile_thumb_medium" + "&pic=" + pic + '.jpg';

    // write the picture link to the src attr.
    $('#brpr_list_thumb_' + tuple).attr('src', image_link); 
}
else {

    // male image - if there is no user picture in the database.
    if (gender == 'male') { var image_link = "pic/icons/male_128_128.png" };

    // female image - if there is no user picture in the database.
    if (gender == 'female') { var image_link = "pic/icons/female_128_128.png" };

    // write the link to the src attr.
    $('#brpr_list_thumb_' + tuple).attr('src', image_link); 
}


// when the loading process of the picture is finished a fadeIn happens - this makes problems in IE, but just with the male and female image, which get cached from IE.
$('#brpr_list_thumb_' + tuple).load(function() { $('#brpr_list_thumb_' + tuple).fadeIn(250) });

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

как лучше всего это решить?

Ответы [ 2 ]

1 голос
/ 16 января 2012

IE очень полезен и по умолчанию кэширует возврат ajax!

Если вы хотите получать вменяемые ответы, вы можете вместо этого вручную настроить все ваши запросы ajax для кэширования.Поместите это наверху своего сценария:

$.ajaxSetup({
  cache: false
});
0 голосов
/ 16 января 2012

Вы можете добавить метку времени к URL-адресу изображения.Попробуйте это

if (thumb_medium == '1') {  

    // create picture link.
    var pic = Math.floor( Math.random() * (1000000) );
    var image_link = "image/image_show.php?id=" + id + "&element=image_profile_thumb_medium" + "&pic=" + pic + '.jpg';

    // write the picture link to the src attr.
    $('#brpr_list_thumb_' + tuple).attr('src', image_link + "&t=" + (new Date()).getTime()); 
}
else {

    // male image - if there is no user picture in the database.
    if (gender == 'male') { var image_link = "pic/icons/male_128_128.png" };

    // female image - if there is no user picture in the database.
    if (gender == 'female') { var image_link = "pic/icons/female_128_128.png" };

    // write the link to the src attr.
    $('#brpr_list_thumb_' + tuple).attr('src', image_link + "?t=" + (new Date()).getTime()); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...