2012-01-03 93 views
2

我們最近開始使用errorception來監測our site上的JavaScript錯誤。這是一種記錄客戶端JavaScript錯誤的服務。Internet Explorer:「Object Expected」錯誤 - 常見原因?

絕大多數得到報告已經在以下兩類錯誤:

  • 「$沒有定義」 - 大概是因爲jQuery是沒有得到加載,因爲某些網絡錯誤
  • 「對象預期「

我想弄清楚」Object Expected「錯誤來自哪裏。它只能從IE進行報告,並且發生在網站的各個頁面和各種版本的IE中。我一直沒有能夠在瀏覽器中重現它,所以我想知道是否有一些常見的錯誤或現象可能導致此錯誤。

+0

要了解常見的原因,我建議你搜索[\ [\] IE預期的對象的JavaScript(http://stackoverflow.com/search?q=%5Bjavascript%5D+ IE +對象+預期&提交=搜索)。 – 2012-01-03 21:07:33

+0

因此,這個錯誤的事情不提供有關這些「對象預期」錯誤的額外信息? (堆棧,行號等) – 2012-01-03 21:15:53

+0

RE:常見原因 - 我確實搜索過,但我發現的所有情況都很容易重現,這不是我遇到的問題。 RE:行號 - 它確實提供了行號,但如果錯誤發生在內聯腳本中,那麼對於IE來說這些行號是無用的。 – alexp 2012-01-03 21:21:44

回答

0

Object Expected是用於調用未定義函數的Internet Explorer術語。

這是因爲您使用jQuery的簡寫$(function() {})。在這種情況下,jQuery對象$被用作函數。

轉載與

<script> 
    $(function() {}); 
</script> 
+0

當我在IE中運行它時,出現錯誤控制檯中的屬性'$'的值爲空或未定義,而不是函數對象「。 「預期對象」文本來自哪裏? – alexp 2012-01-03 21:16:01

+0

我的例子給我在IE 8,Windows XP中的「Object Expected」。你在'$(function(){})'語句之前訪問任何'$ .foo'嗎? – copy 2012-01-03 21:25:09

+1

啊,它必須是Windows XP上的IE和Windows 7上的IE之間的區別。上面給出的信息來自Windows 7上的IE。當我在XP虛擬機上嘗試它時,出現「Object Expected」錯誤。 – alexp 2012-01-03 22:02:11