2012-02-28 14 views
2

要重現此錯誤,請轉至here

選擇「顏色」和「大小」,然後點擊「加入購物車」,當「載入中...」對話框出現,它變成了「加入購物車」對話框之前,單擊在樹蔭下的任何地方取消對話框,然後儘可能快地點擊頁面上的任何鏈接。

如果你足夠快,你可以重現此提醒錯誤:

Exception : TypeError: $("j2t-temp-div").down(".j2t_ajax_message") is undefined 

(火狐9)

Exception : TypeError: Cannot read property 'innerHTML' of undefined 

器(Chrome 17)

沒有警報次數錯誤的IE 8。

我的問題是我如何制止這種錯誤。我不小心踩了幾次,我確信我的用戶也會偶然地這樣做。它在生產網站上看起來不漂亮。

有什麼辦法,同時保持AJAX添加到購物車功能禁用此異常?

任何想法,將不勝感激。謝謝!

回答

3

爲了抑制它,你可以使用typeof

if (typeof variableHere != 'undefined'){ 
    // your further code 
} 

例如,如果你這樣做:

alert(someVar); 

其中someVar之前沒有定義,你將得到:

someVar is not defined 

但是當你這樣做時:

if (typeof someVar == 'undefined'){ ... } 

這將打壓錯誤。


所以,你必須找出哪些變量是導致該錯誤後,您需要使用typeof檢查消息打壓。

1

它找我$("j2t-temp-div")不見了#.。這取決於j2t-temp-div是div的id還是class。 (我不使用jquery一會兒,這樣的東西可以改變...)

+0

不相關的jQuery我猜,原型選擇看起來是一樣的,並Magento會用原型。但這個想法是相同的,無論是父元素(第一選擇器)或第二個元素(第二選擇器)在標記中缺少或不是噴射加載 – 2012-02-28 09:23:36

+0

它可能與'jquery'有關,我想'jquery'可以使用其中之一默認情況下......(#''或'.') – IProblemFactory 2012-02-28 09:33:38

+0

,但如果你有問題開闢引用鏈接你看到用來$原型有jQuery的或$ j表示jQuery和J2t_Ajaxcheckout擴展,給出了錯誤信息的用途原型 – 2012-02-28 10:00:19