2012-04-09 87 views
8

谷歌分析顯示〜我們的用戶總量的12%是由一個Javascript問題的影響:瀏覽器的無法重現類型錯誤:「未定義」不是一個對象

TypeError: 'undefined' is not an object

90%的Safari瀏覽器7534.48.3,10%是Mozilla兼容代理。 75%的錯誤來自iPhones,23%來自iPad。 1%來自Macintosh,另外2%來自iPod等。沒有任何設備運行Linux或Windows。

我曾嘗試在Safari和iPhone和iPad上啓用調試模式,但無法重現該錯誤。

Here is a link to a page Google Analytics claims is showing the error。如果任何人都可以在這裏始終如一地重現錯誤,那麼我將非常高興,因爲只要行號就足以讓我開始調試。

任何人都可以想到任何其他方式,我可以嘗試調試呢?謝謝所有

對於我們之間好奇我使用this code to send errors to GA - 警告:可能的自我推銷。

更新:類型錯誤:「未定義」不是(評估「safari.self.tab.canLoad」)

設法說出來的一次點擊左右時,主要是在iPhone上,而對象點擊「更改國家..」

更新:通過確保元素在dom中可用解決此問題。結果成功的ajax調用試圖寫入一個不可用的元素。

我一直的Unable to reproduce TypeError: 'undefined' is not an object here

+0

那麼,錯誤出現的文件和行是什麼?您的代碼也會將其發送給GA。 – Bergi 2012-04-09 18:28:08

+0

undefined:0 .. :( - 巧克力茶壺想起來了...... – 2012-04-09 18:32:12

+0

@JohnMcLear:如果你找到答案,我認爲你最好把它作爲回答發佈並批准它(它是允許的),而不是簡單地更新你的問題,因爲它看起來像它仍然活躍(未答覆),當它不是。 – Max 2018-02-11 17:13:03

回答

0

了堅實的記錄在您的functions.js,你有這樣的:

storage_get = function(key) { 
    var store = (window.SAFARI ? safari.extension.settings : localStorage); 
    var json = store.getItem(key); 
    if (json == null) 
    return undefined; 
    try { 
    return JSON.parse(json); 
    } catch (e) { 
    log("Couldn't parse json for " + key); 
    return undefined; 
    } 
} 

undefined沒有一個JavaScript關鍵字。這是一個變量(大部分時間)恰好是未定義的。你不能像這樣使用undefined。考慮一下如果你用pinkelephant代替它會發生什麼,因爲這是在這裏發生的確切的事情。

+0

這是奇怪的事情,我沒有看到functions.js ...什麼來源是你的functions.js?IE是它來自cloudflare ,谷歌還是sharethis? – 2012-04-09 18:43:48

+5

使用'pinkelephant'會拋出一個ReferenceError,使用'undefined'不會簡單地返回'undefined'值。另外,我很確定您正在查看Chrome AdBlock擴展程序的代碼:http://code.google.com/p/adblockforchrome/source/browse/trunk/functions.js?r=3645#85 :) – DCoder 2012-04-09 18:52:48

+0

哈哈好點:)好吧,這是我能找到的唯一'未定義的......也許這就是他的問題的答案,但帶有錯誤的瀏覽器擴展? – 2012-04-10 10:38:54

-3

首先,我很驚訝你擔心你的JavaScript推送到GA的錯誤......你似乎有很多404錯誤代碼在很多鏈接上。

第二關,我發現了另一個JavaScript錯誤,我覺得值得這樣的回答:

試圖訂閱電子郵件通知給出響應未定義的變量(顯然是設置爲數據的功能參數):

msh.header.js:213 ReferenceError: Can't find variable: response 
相關問題