IE8使用breeze.debug.js引发hasOwnProperty未定义异常

IE8使用breeze.debug.js引发hasOwnProperty未定义异常,breeze,Breeze,首先,我正在使用的web应用程序需要使用IE8,它使用ES3 javascript标准而不是ES5。我正在利用这个库,希望它能有所帮助,但不幸的是,它没有修复抛出的异常,从而阻止了breeze初始化 以下是breeze.debug.js中的代码块,它似乎是问题的一部分,如果不是IE8将hasOwnProperty读取为未定义的根的话: Enum.prototype.getNames = function() { var result = []; for (var

首先,我正在使用的web应用程序需要使用IE8,它使用ES3 javascript标准而不是ES5。我正在利用这个库,希望它能有所帮助,但不幸的是,它没有修复抛出的异常,从而阻止了breeze初始化

以下是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文件中有一个额外的异常,它调用breeze本身:
var manager=new breeze.EntityManager(window.url.dataModelApiUrl)

在这里,breeze被IE8解读为未定义,我想这是因为breeze.debug.js从一开始就没有正确初始化过

如果您有任何建议/帮助/建议来帮助解决此问题,我们将不胜感激

编辑:其他信息:出于测试目的,我使用了es5 shim tests站点(可以在上面的es5 shim链接中找到),我在该站点中包含了对breeze.debug.js的引用,该站点引发了相同的异常。我一直在深入研究这个问题,但我还没有取得任何进展。再次感谢您的帮助


谢谢,

好的,这应该在v1.1.3中修复。如果没有,请发回

好的,这应该在v1.1.3中固定。如果没有,请发回

更新::我编辑了上面的代码块以使用“Enum.prototype.hasOwnProperty.call…”这似乎已经解决了问题。Breeze似乎根据需要进行初始化,并且应用程序正在工作(接下来将进行更彻底的测试)。据我所知,此更改直接从Enum.prototype中提取hasOwnProperty,而不是假设它已经在空间中可用。虽然我不确定这是否是一个正确的解决方案,但这完全是我在实验中尝试的。在我测试应用程序后,我会知道更多,看看是否有任何东西因此而损坏。谢谢你的努力。我已经为此提交了一份缺陷报告。更新::我编辑了上面的代码块,使用“Enum.prototype.hasOwnProperty.call…”这似乎已经解决了问题。Breeze似乎根据需要进行初始化,并且应用程序正在工作(接下来将进行更彻底的测试)。据我所知,此更改直接从Enum.prototype中提取hasOwnProperty,而不是假设它已经在空间中可用。虽然我不确定这是否是一个正确的解决方案,但这完全是我在实验中尝试的。在我测试应用程序后,我会知道更多,看看是否有任何东西因此而损坏。谢谢你的努力。我已经为此提交了一份缺陷报告。