Я написал небольшой веб-инструмент, который использует ввод файла для чтения постоянно меняющегося файла. Пользователь выбирает его вручную (один раз!) И дорожки JavaScript, когда он был изменен (время последнего изменения файла и размер файла). Если он изменился, он снова считывает содержимое файла.
Это отлично работает во всех браузерах в Windows. Но на macOS (проверено в Safari 10.1.2 и Firefox 51.0.1) обновляется только последнее время модификации. Размер файла не обновляется, и кажется, что содержимое файла больше не читается. Поэтому я не могу отслеживать изменения файлов в браузерах на macOS.
Но почему? Это ограничение безопасности в macOS?
Проконсультируйтесь со следующим фрагментом. Выберите файл (например, текстовый файл), см. Последнюю измененную метку времени и размер файла, затем измените файл и посмотрите еще раз, если размер изменился. В macOS размер файла не изменяется.
Нет jQuery, пожалуйста.
window.addEventListener('load', function() {
window.setInterval(function() {
var logFile = document.querySelector('#file').files[0];
if (logFile) {
document.querySelector('#info').innerHTML = '<br/>' +
(new Date()).toString() + '<br/>Last modified: ' +
logFile.lastModified +
'<br/>Size: ' +
logFile.size;
}
}, 1000);
});
#info {
font-family: Courier;
font-size: 0.9em;
}
<!DOCTYPE html>
<input type="file" id="file" />
<p id="info"></p>