2011-05-30 94 views
0

在firefox中,如果用戶在加載頁面之前單擊下面的鏈接,它會在新窗口中打開,而不是在thickbox對話框中打開。任何方式來防止這種情況?thickbox firefox問題

我不能讓這種事情發生在IE/Safari瀏覽器

ThickBox的工作原理是在鏈路上設置一類 「ThickBox的」:

<a href="http://someurl.com" class="thickbox none new" title="Open">Open</a> 

然後在ThickBox的

//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; 
}); 
+0

你可以張貼一些代碼讓我們看看? – neezer 2011-05-30 22:52:54

+1

就像一個警告,Thickbox已經正式關閉生命支持超過一年半了...現在可能是尋找替代插件的時候了。 – Pointy 2011-05-30 23:00:44

回答

0

確保您以正確的順序加載各種腳本資源。例如

<script type="text/javascript" src="path/to/jquery.js"></script> 
<script type="text/javascript" src="path/to/thickbox.js"></script> 
<script type="text/javascript"> 
    jQuery(function($) { 
     tb_init(...); 
     // etc 
    }); 
</script> 

這可以是在任一<head>或優選地,在結束之前</body>標籤。

正如Pointy,err指出的那樣,Thickbox不再處於積極發展之中。您可以考慮從同一作者的以下替代

0

好吧,我不是我可以試試這個的地方,而且我也不是jQuery的專家,所以應該預先警告你的里程可能會隨着這個答案而變化。

你有沒有嘗試把$(document).load()而不是$(document).ready()初始化?如果我正在閱讀the documentation,ready()會在DOM準備好後調用,但不一定在加載其他腳本之類的資源之前調用。我不知道這是否是一個解決方案,但它可能是一些嘗試。