Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача и сохранение данных в фаил (https://javascript.ru/forum/misc/2923-peredacha-i-sokhranenie-dannykh-v-fail.html)

RX200 26.02.2009 17:07

Передача и сохранение данных в фаил
 
Здравствуйте!
У меня такая проблема. написал тест в виде HTML с использованием java-скриптов всё работает нормально но мне нужно чтобы данные сохранялись в фаил. И что самое главное не под управлением сервера так как документ.HTML вообще не размещён как сайт. Поэтому мне нужно чтобы он чисто как прога на ПК работал и сохранял данные. Подскажите пожалуйста как эти данные из переменных java-скриптов заставить сохранятся в указанный фаил на ПК причём на любом ПК (без устоновки доп программ, платформ)???

Gvozd 26.02.2009 17:38

Java Script не предназначен для такого!
Java Script не умеет писать в файлы.И это правильно с точки зрения безопасности.

Из не совсем универсальных решений советую взглянуть в сторону JScript под управлением WSH или HTA.
Но, работать будет только на Windows-системах с установленным IE соответственно

Simon_sng 26.02.2009 17:40

Поэтому мне нужно чтобы он чисто как прога на ПК работал и сохранял данные
 
//не помню откуда взял , но мне заменяет алерты , допишет в файл данные

var msg = "my message";
var my_exist_file = "C:\\tmp\\my.log";
var consoleService = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleServic e); consoleService.logStringMessage(msg);
var mfile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIFile);
var locfile = mfile.QueryInterface(Components.interfaces.nsILoca lFile);

locfile.initWithPath (my_exist_file);//

var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutpu tStream);
foStream.init(locfile, 0x04 | 0x10 , 0666, 0);
foStream.write(msg, msg.length);//
foStream.close();
//естестевенно браузер нужен мозила :)

Kolyaj 26.02.2009 17:50

Как вариант Adobe AIR или молодая, но, ИМХО, перспективная вещь TitaniumApp.

Андрей Параничев 26.02.2009 17:55

Если HTML не размещен, как веб-страница, то это должно быть приложением.

Кроме платформ, указанных Kolyaj, есть еще нативная для windows HTML Application.
В купе с WSH там есть возможность писать в файл, но вывод только через mshtml (как в Internet Explorer).

RX200 28.02.2009 09:40

Спасибо всем!! сделал HTA, а в нем уж можно использовать объекты WSH это помогло)))
Теперь почти всё работает так как надо осталось только сделать так чтобы в документе *.hta все остальные документы в одном окне открывались.

Андрей Параничев 28.02.2009 13:38

Можно связывать несколько HTA приложений, через объект WebBrowser (добавлять его на страницу, а потом искать в открытых окнах Internet Explorer), правда это не так уж и просто, хотя вполне реализуемо.

RX200 28.02.2009 14:00

<HTA:APPLICATION navigable="yes/no" /> Разобрался установить yes документа *.HTA и всё в одном окне будет работать))


Часовой пояс GMT +3, время: 07:44.