【发布时间】:2013-09-25 14:46:01
【问题描述】:
我有一个程序可以从字典中返回一个键列表。该代码在 Chrome、Opera 和 Firefox 中正常工作,但在 Internet Explorer 中不能正常工作。 我已添加警报 cmets 以关闭问题所在。下面是导致问题的代码。警报按顺序显示
- 应用初始化
- 获取 JSON
- 得到 JSON
- 得到密钥(在 IE 中不显示)
我发现了一个类似的问题 here,但我相信在这个例子中这不是正确的问题,因为我创建了字典,所以它是一个原生对象。
我不再确定 Object.keys 是问题所在,所以这里有一个完整页面的链接。 I JavaScript 在页面中以便于查看
http://www.londonlayout.co.uk/dev/live.htm
var myApp = {
init: function () {
var def = $.Deferred();
alert('App Initializing');
$.getJSON('data/data.json', function (raw) {
alert('Getting JSON');
myApp.data = raw;
$.each(myApp.data, function (code, details) {
try {
myApp.nameDict[details.name] = code;
}
catch (e) {}
});
alert('Got JSON');
myApp.names = Object.keys(myApp.nameDict);
alert('Got Keys')
def.resolve();
});
return def.promise();
},
data: {},
nameDict: {}
}
【问题讨论】:
-
如果在 IE 9 之前,解决方案如下:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… as Object.keys();不适用于IE9以下版本
-
我使用的是版本 10
-
点击右上角的齿轮。然后“关于 Internet Explorer”说版本 10.0.9200.16686
-
好吧,我已经检查过了,我建立的另一个页面使用 Object.keys 并在我的 Internet Explorer 版本上成功运行。但是有些东西使这条线不起作用
标签: javascript internet-explorer