2013-02-20 18 views
1

首先,我正在使用的Web應用程序需要使用IE8,它使用ES3 JavaScript標準而不是ES5。我正在利用es5-shim.js庫希望它可以幫助,但不幸的是,它不能修復拋出的異常,防止微風初始化。IE8引發hasOwnProperty未定義的異常與breeze.debug.js

下面是代碼breeze.debug.js這似乎是問題的一部分塊,如不及時救治IE8讀取hasOwnProperty爲未定義根:

Enum.prototype.getNames = function() { 
     var result = []; 
     for (var key in this) { 
      if (hasOwnProperty.call(this, key)) { 
       if (key != "name" && key.substr(0, 1) !== "_" && !core.isFunction(this[key])) { 
        result.push(key); 
       } 
      } 
     } 

我有一個額外的例外另一個叫做微風的.js文件如下:var manager = new breeze.EntityManager(window.Urls.dataModelApiUrl);

這裏的微風被IE8讀爲未定義,我想象因爲breeze.debug.js從來沒有正確初始化過。

任何adivce /幫助/建議,以幫助解決這個問題將不勝感激!

編輯:附加信息:出於測試目的,我使用了es5-shim測試網站,可以在上面的es5-shim鏈接中找到,我在網站中包含了對breeze.debug.js的引用,該網站是拋出相同的確切例外。我一直在深入研究這個,但是我還沒有取得任何進展。再次,任何幫助將不勝感激!

謝謝,

+0

更新::我編輯了上面的代碼塊以使用「Enum.prototype.hasOwnProperty.call ...」 這似乎解決了這個問題。微風似乎根據需要進行初始化,並且應用程序正在運行(更詳細的測試將遵循)。據我的理解,這個改變直接從Enum.prototype中取出hasOwnProperty,而不是假設它已經在空間中可用。 儘管我不確定這是否是一個正確的解決方案,但這是我純粹嘗試過的東西。在測試應用程序後,我會知道更多信息,看看是否有任何結果。 – FarhanNS 2013-02-20 19:52:03

+0

感謝您推動痛苦。我已經爲此提交了一份缺陷報告。 – Ward 2013-02-24 22:29:07

回答

1

好的,這應該在v 1.1.3中修復。如果不是,請回復。