» »

firefox extension: kako prebrati datoteko iz diska

firefox extension: kako prebrati datoteko iz diska

Vapo1 ::

nikjer na netu ne najdem skoraj nic dokumentcije oz primerov...
edino tukaj je nekaj... (ampak ni primerov delujocih):
https://developer.mozilla.org/en/FileGu...

in pise da je IO global object ki je vedno in povsod dostopen
ampak meni "try catch" pribije exception "ReferenceError: IO is not defined"

moji poizkusi z:
var IO = Components.classes["@mozilla.org/io/scriptable-io;1"].getService();
tudi nic ne obrodijo



ok.. spodaj je koda s katero sem probaval

vse je zakomentirano razen "try catch poizkusa" cisto na vrhu, ki je edini, ki je obrodil vsaj nekaj - en exception (lol)

ostalo kodo sem dodal da vidite kaj sem poizkusal (nekaj sem je malo na blef skopiral iz raznih extensionov)


function PreberiFajl(){
	alert("read start");


	//var scriptableIO = Components.classes["@mozilla.org/io/scriptable-io;1"].getService();
        //var IO = Components.classes["@mozilla.org/io/scriptable-io;1"].getService();

try {
  var file = IO.getFile("Desktop", "myinfo.txt");
  var stream = IO.newOutputStream(file, "text");
} catch (ex) { alert(ex); }




/*
	var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);
	var stream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);


stream.init("c:\\sample.txt", 0x02, 0x200, null);

	    for (var i = 0; i < 10 ; i++) {
	  //    stream.write("aaabbb", 4);
	    }
    stream.close();
*/

/*
	fp.init(window, null, fp.modeSave);
	  fp.defaultExtension = "txt";
	  fp.defaultString = "TMPpref";
	  fp.appendFilters(fp.filterText);

	  if (fp.show() != fp.returnCancel) {
	    if (fp.file.exists()) fp.file.remove(true);
	    fp.file.create(fp.file.NORMAL_FILE_TYPE, 0666);
	    stream.init(fp.file, 0x02, 0x200, null);

	    for (var i = 0; i < 10 ; i++) {
	    //  stream.write("aaab\n", 4);
	    }

    stream.close();
*/
	//var file = IO.getFile("Home", "sample.txt");
	//var file = IO.getFile("Profile", "sample.txt");


	//if (file.exists())
	//  alert("The file is there!");
	//else
	//  alert("File not found!");

	//var stream = IO.newInputStream(file, "text");

	//var lines = [];
	//while(stream.available())
	//  lines.push(stream.readLine());


    alert("read konec");
}



hvala za pomoc

krho ::

firefox 3.6+ afaik. Zadeva je del standarda html5
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

Zgodovina sprememb…

  • spremenil: krho ()

Vapo1 ::

uporabljam ff 3.5.5

torej kako se to naredi v 3.5.5

krho ::

SE NE DA. Da se v add-onu, ki ga moraš posebej namestiti. V bistvu še potem, ko bo del standarda HTML5, boš lahko odprl samo datoteko, ki jo boš pred tem izbral s inputom tipa file.

Zakaj se pa tega ne da, pa malce pomisli.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

Zgodovina sprememb…

  • spremenil: krho ()

Vapo1 ::

SE DA.

evo.. mije ratalo...

koda iz tukaj deluje

https://developer.mozilla.org/en/Code_s...

var file = Components.classes["@mozilla.org/file/local;1"].
	                     createInstance(Components.interfaces.nsILocalFile);
	file.initWithPath("C:\\sample.txt");

// open an input stream from file
var istream = Components.classes["@mozilla.org/network/file-input-stream;1"].
                        createInstance(Components.interfaces.nsIFileInputStream);
istream.init(file, 0x01, 0444, 0);
istream.QueryInterface(Components.interfaces.nsILineInputStream);

// read lines into array
var line = {}, lines = [], hasmore;
do {
  hasmore = istream.readLine(line);
  lines.push(line.value);
} while(hasmore);

istream.close();

// do something with read data
alert(lines);



prebere file...

drugace zaradi varnosti ima recimo greasemonkey to onemogoceno... ampak extensioni pa lahko pisejo in berejo po disku (kako bi sicer razni session saver extensioni delovali?)..
(ker itak extension mora clovek odobriti sam da ga instalira)

zdaj me samo se zanima kaksen je ukaz za formatirat disk iz fajrfoksa (haha)

Vapo1 ::

poglejte si moj naslednji topic.. se nadaljuje tole


Firefox, Greasemonkey - oznaciti doloceni torrent site v txt kot ze obiskan - in displayati kasneje:
Firefox, Greasemonkey - oznaciti doloceni torrent site v txt kot ze obiskan - in displayati kasneje

Zgodovina sprememb…

  • spremenilo: Vapo1 ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Davčne blagajne (strani: 1 2 3 424 25 26 27 )

Oddelek: Programiranje
1344333565 (73568) Macketina
»

branje iz datoteke c#

Oddelek: Programiranje
141648 (1377) darkolord
»

[c] Enaki datoteki

Oddelek: Programiranje
71038 (898) Spura
»

[java] Kako v memoriji pretvoriti String objekt v File objekt ? - neka metoda ga zaht

Oddelek: Programiranje
132269 (2269) infiniteLoop
»

vkljucevanje txt datoteke v ...

Oddelek: Programiranje
131587 (1363) webblod

Več podobnih tem