У меня есть программа для возврата списка ключей из словаря. Код работает корректно в Chrome, Opera и Firefox, но не в Internet Explorer. Я добавил предупреждающие комментарии, чтобы закрыть, где проблема. Ниже приведен код, вызывающий проблему. Оповещения отображаются в порядкеObject.keys не работает в Internet Explorer
- App Initializing
- Получение JSON
- Got JSON
- Got Ключи (не отображается в 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? – jabclab
Если до IE 9, вот решение :: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys как Object.keys(); не работает ниже IE9 версии –
Я использую версию 10 –