Во-первых, у вашего примера есть пара непосредственных проблем: ваш закрытие <body>
на самом деле является еще одним открытием <body>
! Это не будет причиной вашей проблемы, хотя.
Вторая ошибка, это строка,
document.getElementById('files').addEventListener('change', handleFileSelect, false);
это не может быть в открытом состоянии, так сказать, , потому что элемент с id=files
не существует до тех пор, пока окно не завершит загрузку, поэтому вам нужно обернуть его в и вызовите его при загрузке окна (или лучше в document.ready
, если вы используете jQuery или аналогичный). Вот так
window.onload = function() {
document.getElementById('files').addEventListener('change', handleFileSelect, false);
};
К сожалению, после того как я все еще получаю сообщение об ошибке, f.lastModifiedDate
не определено. Подразумевается, что lastModifiedDate
не является свойством объекта File
. Является ли это ошибкой в фрагменте, который вы тоже связали, или чем-то еще, я не уверен. Я пытаюсь выяснить.
Обновление
Хорошо. Как вы и сказали, вы хотите знать, является ли это проблемой с Firefox или нет, поэтому я пошел и проверил в Chrome, и он работал нормально. Мой вывод заключается в том, что атрибут lastModifiedDate
объекта File
не реализован в Firefox (5), но в Chrome. (Это можно подтвердить, просматривая доступные атрибуты объекта File).
Чего это не объясняет, так это того, что попытка примера в ссылке, которую вы разместили, работает в Firefox, а копирование и вставка примера - нет. Единственная причина этого может заключаться в том, что код в фрагменте не совсем совпадает с кодом, фактически используемым на странице. Должна быть какая-то проверка, действительно ли существует атрибут fileModifiedDate
. Конечно, посмотрев на исходную страницу, о которой идет речь, вы увидите, что вместо этого
f.lastModifiedDate.toLocaleDateString(),
кажется, что они используют это,
f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
Таким образом, замена этой строки должна решить проблему. Вот jsfiddle с работающим (по крайней мере, в Chrome и Firefox 5).