2012-02-28 95 views
1

有沒有人注意到Firefox 10中DOM結構的奇怪問題?Firefox 10與jQuery的DOM問題?

在過去的10天裏,我使用了一系列的jQuery插件,其中的對象數據是不可檢索的,因爲數據不是它應該存在的地方。

如果我的術語不正確,請原諒我。

在Firefox 10中轉到http://www.phiairmedical.com並打開Firebug控制檯。滾動任何導航,你會看到一個失敗「opts is undefined」(第101行jquery.cycle.min.js)

看着那條線,它試圖檢索存儲的數據('cycle.opts' ),但顯然沒有找到它。

上週,我有一個使用jScrollPane的類似問題,其中存儲在數據對象中的api函數是無法檢索的。我發現,通過改變規格推送和檢索,我可以訪問它。

與JScrollPane中的建議是推動這樣的數據:

apis.push($(this).jScrollPane().data('jsp')); 

我調用該函數是這樣的:

$.each(apis, function(i) { 
    this.destroy(); 
}); 

這就是工作的其他任何地方。爲了適應FF10我不得不這樣做是這樣的:

apis.push($(this).jScrollPane().data('data.jsp')); 

,改變this.destroy()來

this.jsp.destroy(); 

我相信,上面鏈接該網站目前的問題是同樣的問題,因爲它是去年夏天我推出它時非常好。現在,導航滾動不起作用,因爲Cycle插件因此數據問題而失敗。

我希望有人能說出他們是否經歷過這個或聽說過它或如何去提交一個錯誤到Firefox(如果是這樣)。

編輯: 爲了驗證這一點,我走了進去,並從改線100 jquery.cycle.min.js:

var opts = $(cont).data('cycle.opts'); 

var opts = $(cont).data('data.cycle.opts'); 

而且問題是淘汰。

+0

這就是爲什麼jQuery插件質量低而且不健壯。吸取教訓,使用健壯的代碼。 – Raynos 2012-02-28 19:27:17

+0

問題已解決。 – 2012-04-17 14:42:50

回答

0

這個問題的根源竟然是Firebug中的FireQuery擴展。它與代碼的質量無關。

在禁用FireQuery的情況下,原始代碼無誤地運行。

進一步的測試讓我發現我可以通過取消選中「顯示內部jQuery數據」選項來啓用FireQuery,儘管開發人員在使用jQuery 1.7.1查看內部數據時實際上推薦使用此選項。

Binary FireQuery FAQ