ActiveXObject не определен и не может найти переменную: ActiveXObject
Я хочу создать текстовый файл в локальном режиме, когда я просматриваю в Google Chrome клик кнопки, он показывает ошибку, например ActiveXObject не определен, и когда я просматриваю в сафари клик по кнопке, это показывая ошибку, например не может найти переменную: ActiveXObject. любой может помочь мне. Как я могу достичь и создать файл .Thanq
<script>
function createFile() {
var object = new ActiveXObject("Scripting.FileSystemObject");
var file = object.CreateTextFile("C:\\Hello.txt", true);
file.WriteLine('Hello World');
alert('Filecreated');
file.WriteLine('Hope is a thing with feathers, that perches on the soul.');
file.Close();
}
</script>
<input type="Button" value="Create File" onClick='createFile()'>
Ответы
Ответ 1
ActiveXObject
доступен только в браузере IE. Поэтому каждый другой пользовательский агент будет вызывать ошибку
В современном браузере вы можете вместо этого использовать File API или API-интерфейс для записи файлов (в настоящее время реализовано только в Chrome)
Ответ 2
ActiveXObject
является нестандартным и поддерживается только Internet Explorer в Windows.
Нет встроенного кросс-браузерного способа записи в файловую систему без использования плагинов, даже черновик API файлов предоставляет доступ только для чтения.
Если вы хотите работать с кросс-платформой, вам нужно посмотреть на такие вещи, как подписанные Java-апплеты (имея в виду, что это будет работать только на платформах, для которых доступна среда исполнения Java).
Ответ 3
Веб-приложение может запросить доступ к изолированной файловой системе, вызвав window.requestFileSystem()
. Работает в Chrome.
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
var fs = null;
window.requestFileSystem(window.TEMPORARY, 1024 * 1024, function (filesystem) {
fs = filesystem;
}, errorHandler);
fs.root.getFile('Hello.txt', {
create: true
}, null, errorHandler);
function errorHandler(e) {
var msg = '';
switch (e.code) {
case FileError.QUOTA_EXCEEDED_ERR:
msg = 'QUOTA_EXCEEDED_ERR';
break;
case FileError.NOT_FOUND_ERR:
msg = 'NOT_FOUND_ERR';
break;
case FileError.SECURITY_ERR:
msg = 'SECURITY_ERR';
break;
case FileError.INVALID_MODIFICATION_ERR:
msg = 'INVALID_MODIFICATION_ERR';
break;
case FileError.INVALID_STATE_ERR:
msg = 'INVALID_STATE_ERR';
break;
default:
msg = 'Unknown Error';
break;
};
console.log('Error: ' + msg);
}
Подробнее здесь.