Я хочу создать подпрограмму JQuery, которая может записывать информацию (добавить) в текстовый файл, который существует или не существует. Если файл не существует, он должен создать файл, и если он это сделает, он должен либо добавить, либо начать запись новых данных в файл. Я думаю, что append будет лучшим выбором для файлового регистратора. Поэтому он должен добавить данные в файл.
Я нашел этот код в Интернете и пытаюсь его обработать, чтобы использовать его на своей странице для записи информации в простой текстовый файл.
Вопрос: Как я могу сделать следующий код в файле для загрузки?
Ниже приведен новый код и как я прочитал страницу, которая была указана в комментариях о том, как должен работать регистратор в скрипте Java. Код не работает, и я не уверен, почему.
Я не совсем уверен, как работает загрузка, но если я могу просто заставить логгер работать, я пока буду счастлив.
Код:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
<script src="log4moz.js">
</head>
<script>
getLocalDirectory : function() {
let directoryService = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties);
// this is a reference to the profile dir (ProfD) now.
let localDir = directoryService.get("ProfD", Ci.nsIFile);
localDir.append("XULSchool");
if (!localDir.exists() || !localDir.isDirectory()) {
// read and write permissions to owner and group, read-only for others.
localDir.create(Ci.nsIFile.DIRECTORY_TYPE, 0774);
}
return localDir;
}
let myFile = XULSchool.getLocalDirectory();
myFile.append("someFile.txt");
let formatter = new Log4Moz.BasicFormatter();
let root = Log4Moz.repository.rootLogger;
let logFile = this.getLocalDirectory(); // remember this?
let appender;
logFile.append("log.txt");
root.level = Log4Moz.Level["All"];
appender = new Log4Moz.RotatingFileAppender(logFile, formatter);
appender.level = Log4Moz.Level["All"];
root.addAppender(appender);
this._logger = Log4Moz.repository.getLogger("XULSchool.SomeObject");
this._logger.level = Log4Moz.Level["All"];
this._logger.fatal("This is a fatal message.");
this._logger.error("This is an error message.");
this._logger.warn("This is a warning message.");
this._logger.info("This is an info message.");
this._logger.config("This is a config message.");
this._logger.debug("This is a debug message.");
this._logger.trace("This is a trace message.");
</script>
<body>
<form id="addnew">
<input type="text" class="A">
<input type="text" class="B">
<input type="submit" value="Add">
</form>
</body>
</html>
@Smeegs говорит это красиво
Представьте себе мир, где любой веб-сайт может редактировать файлы на вашем компьютере
JavaScript (или jQuery) не может касаться файловой системы пользователя.
Даже если вы найдете какую-то взломанную вещь, которая работает через ActiveXObject
, вы не должны пытаться это сделать. Поддержка кросс-браузера будет очень узкой для этой функции.
Если вы хотите записать файл, просто укажите пользователю загрузку.
Если это всего лишь средство чтения/записи каких-либо данных, посмотрите на localstorage.