我有一个程序可以从字典中返回一个键列表。该代码在 Chrome、Opera 和 Firefox 中正常工作,但在 Internet Explorer 中不能正常工作。我添加了警告评论以关闭问题所在。下面是导致问题的代码。警报按顺序显示
- 应用程序初始化
- 获取 JSON
- 得到 JSON
- 得到密钥(在 IE 中不显示)
我在这里找到了一个类似的问题,但我相信在这个例子中这不是正确的问题,因为我创建了字典,所以它是一个原生对象。
我不再确定 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: {}
}