Выставить запись файла на веб-страницу с расширением Firefox
У меня есть веб-приложение, которое мой клиент использует для кассового аппарата. Что мне нужно сделать, так это создать локальный файл, поскольку программное обеспечение кассового аппарата должно считывать этот файл для печати.
До сих пор я использовал этот код:
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath(filePath);
К сожалению, с последней версией Firefox это больше не работает, поэтому мне сказали, что мне нужно и дополнение для создания файла. Я пытался разработать дополнение (не знаю, успешно ли), и у меня есть main.js выглядит так:
var FileManager =
{
Write:
function (File, Text)
{
if (!File) return;
const unicodeConverter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
.createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
unicodeConverter.charset = "UTF-8";
Text = unicodeConverter.ConvertFromUnicode(Text);
const os = Components.classes["@mozilla.org/network/file-output-stream;1"]
.createInstance(Components.interfaces.nsIFileOutputStream);
os.init(File, 0x02 | 0x08 | 0x20, 0700, 0);
os.write(Text, Text.length);
os.close();
},
Read:
function (File)
{
if (!File) return;
var res;
const is = Components.classes["@mozilla.org/network/file-input-stream;1"]
.createInstance(Components.interfaces.nsIFileInputStream);
const sis = Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
is.init(File, 0x01, 0400, null);
sis.init(is);
res = sis.read(sis.available());
is.close();
return res;
},
};
Любые идеи, как я должен использовать main.js? Где я нахожу его после установки дополнения? Мне нужно использовать что-то вроде этого: FileManager.Write (путь, текст).