ExecCommand sous FF

mrt_sniper Messages postés 10 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 22 février 2007 - 14 févr. 2007 à 10:35
slayer418 Messages postés 19 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 1 juillet 2009 - 29 mai 2008 à 21:16
Bonjour,
je suis entrain de faire une extension pour Firefox et j'ai besoin d'un bouton "save as"
le problem est que document.execCommand  ne marche pas sur Firefox , est ce qu'il y a un equivalent a cette methode qui marche sur firefox ??

merci
A voir également:

13 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 févr. 2007 à 11:45
Bonjour,

    execCommand fonctionne parfaitement avec FF, sauf quelques
       commandes ( comme "Save AS" par exemple )
    en javascript "pur" , pas d'équivalent, je crains.

    regarder du coté XUL,XPCOM l'équivalent des ActiveX pour FF...

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
14 févr. 2007 à 12:04
En gros tu veut sauvegarder un texte qui est dans une variable pour le mettre dans un fichier ? Si c'est ça, il faut utiliser les interfaces XPCOM exportées par Firefox

Exemple :

// On récupère une instance d'une classe qui supporte l'interface nsILocalFile
// L'objet servira à décrire le fichier devant être ouvert
var file = Components.classes["@mozilla.org/file/local;1"].
            createInstance(Components.interfaces.nsILocalFile);

// On ouvre le fichier spécifié
file.initWithPath("C:\\test.txt");

// On crée un flux de sortie
var output_stream = Components.classes["@mozilla.org/network/file-output-stream;1"].
            createInstance(Components.interfaces.nsIFileOutputStream);

// On initialise le flux de sortie avec notre fichier précedemment ouvert, avec les droits
// d'écriture (0x02) et en demandant de créer un nouveau fichier (0x08)
output_stream.init(file, 0x02 | 0x08, 0, 0);

// On écrit notre texte
output_stream.write("Salut !", "Salut !".length);

// On flushe, et on ferme
output_stream.flush();
output_stream.close();

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
14 févr. 2007 à 12:05
PS: Pour les modes d'écriture dans le fichier, regarder le fichier prio.h des sources de Firefox.

Toutes les infos ont étées trouvées sur XULPlanet

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 févr. 2007 à 12:23
nightlord666 : tu devrais nous faire un petit topo
sur l'utilisation des Fichiers avec FF ( et autres ? )   








<hr />




Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
14 févr. 2007 à 12:39
Euh... Avant d'aller voir la doc sur XULPlanet, je connaissais rien à l'utilisation des fichiers avec XPCOM :) Donc je pense qu'aller lire des infos, c'est à la portée de tout le monde

Allez, je vais être gentil, je vais donner l'URL de la page où j'ai tout trouvé :
http://www.xulplanet.com/references/xpcomref/group_Files.html

Et le moteur de recherche qui permet de rechercher un mot/un fichier dans le code source de firefox : http://lxr.mozilla.org/seamonkey/

Bonne lecture

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 févr. 2007 à 12:46
>>...c'est à la portée de tout le monde...

déjà dans un patois local que tout le monde n'entrave pas.
un extrait simplifié aiderait énormément les débutants comme moi.
si tu ne le sens pas, d'autres s'en chargeront probablement. merci déjà pour le lien.


<hr />



Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
14 févr. 2007 à 13:13
Bon je vais essayer de faire un petit tuto qui explique comment utiliser les XPCOM, mais j'hésite à faire un tuto complet ou juste faire une doc...

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 févr. 2007 à 14:20
commences au moins par une petite doc.
tu pourras toujours améliorer par la suite pour en faire
    un "vrai tuto".
et on a besoin d'infos, car sur ce que tu donnes ( et sur l'exemple
    donné sur XULPlanet d'ailleurs  ), pour moi, par exemple, ça plante.
        Erreur : uncaught exception: Permission refusée d'obtenir la propriété UnnamedClass.classes
    donc , c'est assez mal expliqué, on ne dit pas tout ?

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
14 févr. 2007 à 14:26
C'est normal, tu ne l'as pas utilisé dans une extension firefox je suppose ? Car si tu l'a utilisé normalement (un fichier .js), c'est sur que firefox t'autorisera pas à toucher aux fichiers... C'est pas IE quand même

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 févr. 2007 à 14:36
ben voila... ce qui manque, entr'autres, pour les débutants ( et donc pour moi
    qui ne joue pas les candides )
j'aimerais gérer ( enfin ! une révolution pour les non IE !!! ) des fichiers en local
    avec FF ( euh... K-Meleon en fait  mais peu importe )
c'est quoi une extension firefox ?
bref, j'ai ton code, comment le faire fonctionner ?
<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
14 févr. 2007 à 17:57
Une extension firefox, c'est (comme son nom l'indique) un ensemble de fichiers qui va ajouter des fonctionnalités à Firefox.

J'ai deja fait un tuto dessus, regarde dans les tutoriaux.

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
0
mrt_sniper Messages postés 10 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 22 février 2007
15 févr. 2007 à 10:18
Meeeerrcciiiii bcppp les gars  vous me sauvez la vie :)

 @ nightlord666 mercii pour le Tuto il est super :)  
[auteurdetail.aspx?ID=535688
]
0
slayer418 Messages postés 19 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 1 juillet 2009
29 mai 2008 à 21:16
Sinon j'ai trouver un moyen de faire marcher ton code(nightlord666) directement en JS ,

tu ajoute "netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');"
dans ta balise script suivi du code, le seul inconvénien (si cela dérange réellement quelqu'un) est que cela fait apparaitre une boite d'autorisation pour enablePrivilege, mais tu a le choix de pouvoir la faire apparaitre seulement une fois.

En tout cas c'est une méthode sans utilisé de module complémentaire.
0
Rejoignez-nous