JQuery Thickbox Ajax Loader Bug в Chrome / Safari - PullRequest
0 голосов
/ 03 июля 2010

Я знаю, что это старая библиотека JQuery, но я все еще использую Thickbox 3.1 на своем сайте.В Chrome и Safari, когда вы щелкаете ссылку в виде «толстого ящика», появляется страница iframed, но изображение предварительного загрузчика отсутствует.Он переходит прямо на страницу и ждет во всплывающем окне, пока не загрузится.Это становится проблемой, когда всплывающее окно загружает много контента и занимает более нескольких секунд.Это кажется сломанным для пользователя.То, что должно произойти, как это происходит в IE и Firefox, - это загрузочный образ ajax, который вращается и ждет загрузки всплывающего окна, пока оно не исчезнет.Кто-нибудь еще имел проблемы с этим и знает, как исправить код JS для этого?Я считаю, что это то, где он вызывает его в файле Thickbox.js:

//on page load call tb_init
$(document).ready(function(){   
  tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
  imgLoader = new Image();// preload image
  imgLoader.src = tb_pathToImage;
});

Спасибо всем за помощь.Это сводит меня с ума, пытаясь понять!

1 Ответ

1 голос
/ 14 марта 2011

Я наконец понял это.Похоже, что создатель Thickbox 3.1 добавил код, чтобы отключить загрузку в Safari / Chrome.Может быть, в 2007 году это не было поддержано.Решение заключается в комментировании строк с 237 по 240.

if($.browser.safari){
$("#TB_load").remove();
$("#TB_window").css({display:"block"});
}
...