software:firefox-xpi-programming:0ther
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версияСледующая версияСледующая версия справа и слева | ||
software:firefox-xpi-programming:0ther [2010/01/29 11:12] – создано artur | software:firefox-xpi-programming:0ther [2010/01/29 14:33] – artur | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Разные куски кода ====== | ====== Разные куски кода ====== | ||
+ | |||
+ | ===== Настройки: | ||
+ | |||
+ | <code javascript> | ||
+ | .classes[" | ||
+ | .getService(Components.interfaces.nsIPrefService) | ||
+ | .getBranch(" | ||
+ | |||
+ | var string = prefs.getCharPref(" | ||
+ | prefs.setCharPref(" | ||
+ | |||
+ | var bool = prefs.getBoolPref(" | ||
+ | prefs.setBoolPref(" | ||
+ | |||
+ | |||
+ | |||
+ | ===== Read Chrome files ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | if (!aPath || !(/ | ||
+ | return; //not a chrome url | ||
+ | var rv; | ||
+ | |||
+ | var ios = Components.classes[' | ||
+ | var uri = ios.newURI(aPath, | ||
+ | var cr = Components.classes[' | ||
+ | rv = cr.convertChromeURL(uri).spec; | ||
+ | |||
+ | if (/ | ||
+ | rv = this.urlToPath(rv); | ||
+ | else | ||
+ | rv = this.urlToPath(" | ||
+ | |||
+ | return rv; | ||
+ | } | ||
+ | |||
+ | function urlToPath (aPath) { | ||
+ | |||
+ | if (!aPath || !/ | ||
+ | return ; | ||
+ | var rv; | ||
+ | var ph = Components.classes[" | ||
+ | .createInstance(Components.interfaces.nsIFileProtocolHandler); | ||
+ | rv = ph.getFileFromURLSpec(aPath).path; | ||
+ | return rv; | ||
+ | }</ | ||
+ | |||
+ | |||
+ | |||
===== Чтение из файла ===== | ===== Чтение из файла ===== | ||
Строка 24: | Строка 74: | ||
}catch(e){alert(e)} | }catch(e){alert(e)} | ||
</ | </ | ||
+ | |||
+ | ===== Запись в файл ===== | ||
+ | |||
+ | <code js> | ||
+ | var somefile = chromeToPath(" | ||
+ | var xmlDoc; | ||
+ | var file = Components.classes[" | ||
+ | | ||
+ | | ||
+ | if (!(file.exists())) { | ||
+ | var fcStream = Components.classes[" | ||
+ | | ||
+ | fcStream.init(file, | ||
+ | |||
+ | var data = '< | ||
+ | fcStream.write(data, | ||
+ | fcStream.close | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | xmlDoc.documentElement.appendChild(....whatever you want to append....); | ||
+ | var foStream = Components.classes[" | ||
+ | | ||
+ | //clear the file for writing the new doc | ||
+ | foStream.init(file, | ||
+ | var ser = new XMLSerializer(); | ||
+ | //write the serialized XML to file | ||
+ | ser.serializeToStream(xmlDoc, | ||
+ | foStream.close(); | ||
+ | } | ||
+ | }</ |
software/firefox-xpi-programming/0ther.txt · Последнее изменение: 2017/03/23 21:59 — 127.0.0.1