首先,我正在使用的 Web 应用程序需要使用 IE8,它使用 ES3 javascript 标准而不是 ES5。我正在使用es5-shim.js库,希望它可能会有所帮助,但不幸的是它不能修复引发的异常,从而阻止微风初始化。
这是微风.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 读取为未定义,我想是因为微风.debug.js 从一开始就没有正确初始化。
任何有助于解决此问题的建议/帮助/建议将不胜感激!
编辑:附加信息:出于测试目的,我使用了 es5-shim 测试站点,该站点可以在上面的 es5-shim 链接中找到,我在站点中包含了对breeze.debug.js 的引用,并且该站点抛出了完全相同的内容例外。我一直在研究这个,但我还没有进展。再次,任何帮助将不胜感激!
谢谢,