2010-07-03 51 views
0

我知道這是一箇舊的JQuery庫,但我仍然在整個站點中使用Thickbox 3.1。在Chrome和Safari上,當您單擊thickbox鏈接時,會彈出iframed頁面,但沒有預加載器圖像。它直接進入頁面,並在彈出窗口中等待,直到它加載完畢。當彈出窗口加載大量內容並需要幾秒鐘時間時,這會成爲問題。它似乎打破了用戶。應該發生什麼,就像它在IE和Firefox上所做的一樣,是有一個加載ajax圖像,它會旋轉並等待彈出窗口加載,直到消失。有沒有其他人有這個問題,並知道如何解決這個JS代碼?我相信這是它在thickbox.js文件中調用它的地方:Chrome/Safari中的JQuery Thickbox Ajax Loader錯誤

//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

我終於明白了。看起來,Thickbox 3.1的創建者添加了代碼來禁用Safari/Chrome上的加載功能。也許在2007年,它不被支持。解決方案在於註釋第237至240行。

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