Разработка дополнений FireFox: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 97:
...
<toolbarbutton id="helloButton" label="&helloworld;" oncommand="showHello();"/></source>
Поскольку про JS есть отдельный курс, то про стандартные возможности здесь говорить не будем.
 
В JavaScript-е могут быть использованы компоненты XPCOM[[w:XPCOM|XPCOM]].
 
=== Работа с файлами ===
 
==== Чтение ====
 
<source lang="javascript">function read(path) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert("Permission to read file was denied.");
}
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath( path );
if ( file.exists() == false ) {
alert("File does not exist");
}
var is = Components.classes["@mozilla.org/network/file-input-stream;1"]
.createInstance( Components.interfaces.nsIFileInputStream );
is.init( file,0x01, 00004, null);
var sis = Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance( Components.interfaces.nsIScriptableInputStream );
sis.init( is );
return sis.read( sis.available() );
}
alert(read("D:\\1.txt"));</source>
 
Следует обратить внимание, что путь файла должен чётко соответствовать системе: в Windows используются обратные слэши, в Linux - прямые.
 
=== Таймер ===
<source lang="javascript"><script>
var event = {