2011-10-18 49 views
3

我在頁面上使用了jCarousel Lite jQuery plugin,但它似乎在Firefox 3.6中造成嚴重問題。在該瀏覽器中,該頁面會暫時加載,然後所有內容都會消失,除了我正在使用插件的<li>元素之一。JavaScript在Firefox中打開一頁3.6

相關頁面是here。採用旋轉木馬代碼:

<script type="text/javascript"> 

    jQuery(window).load(function() { 
     jQuery(".loopnetcarousel").jCarouselLite({ 
      btnNext: ".next", 
      btnPrev: ".prev" 
     }); 
    }); 

</script> 

(我最初使用(document).ready,而是換成與(window).load看到,有些人在Firefox 3.6與它的問題,但似乎並沒有改變任何東西后)。

更多信息:如果我在所有頁面內容被替換之前停止頁面加載,如上所述,一切正常,包括傳送帶。此外,我試圖用另一個替換該旋轉木馬腳本,併發生同樣的問題。

+3

Firebug錯誤控制檯告訴你什麼? –

+0

該頁面似乎不斷加載,並在控制檯(但在信息選項卡,而不是錯誤標籤)中顯示「重新加載以激活窗口控制檯」。 –

+0

如果Firebug說「重新加載」,則在加載後您打開並啓用了該網站的Firebug,因此您只需執行所述操作並使用Firebug啓用後重新加載頁面即可。如果你不知道這個問題,看看你是否可以在http://jsfiddle.net/上創建一個最小的測試用例。 –

回答

3

貌似問題是loopnet.com屬性裝載的方式。 loopnet.com腳本使用document.write來創建輪播內容。如果您查看Firebug中的Net選項卡,您將看到loopnet.com腳本都加載了兩次。首先加載頁面,然後再運行輪播腳本。第二次在Firefox中運行時,document.write只是清除整個頁面。一個簡單的解決方法是在設置輪播代碼之前刪除腳本標記。實例的jsfiddle:http://jsfiddle.net/fqFH7/7/

$(function() { 
    //remove the scripts so that they are not executed again by the carousel code 
    jQuery(".loopnetcarousel script").remove();  

    jQuery(".loopnetcarousel").jCarouselLite({ 
     btnNext: ".next", 
     btnPrev: ".prev" 
    }); 
}); 

嘗試註釋掉的jsfiddle刪除()行,你會看到同樣的問題,因爲你的網站。

+0

這個完美的作品。謝謝。 –

0

在網站上,該插件:

根據大家的要求, jCarouselLite已更新爲支持jQuery 1.2.x版本。轉到下載頁面並下載版本1.0.1以享受jquery 1.2.x支持。由於Firefox 3在$(document).ready()函數中存在一些問題,因此如果遇到任何問題,請嘗試使用$(window).load()。希望未來版本的Firefox或jQuery能夠解決這個問題。

來自http://www.gmarwaha.com/blog/2007/08/09/jcarousel-lite-a-jquery-plugin/

+0

他使用window.load? – rickyduck

+1

錯過了。只是搜索問題。抱歉。 –