У меня есть программа для возврата списка ключей из словаря. Код работает корректно в Chrome, Opera и Firefox, но не в Internet Explorer. Я добавил предупреждающие комментарии, чтобы закрыть, где проблема. Ниже приведен код, вызывающий проблему. Предупреждения отображаются в порядке
- Инициализация приложений
- Получение JSON
- Got JSON
- Got Keys (не отображается в IE)
Я нашел аналогичный вопрос здесь, но я верю в этот пример, что это неправильный вопрос, поскольку я создал словарь, поэтому он является родным объектом.
Я больше не уверен, что Object.keys является проблемой, поэтому вот ссылка на полную страницу. Я 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: {}
}