Ayuda modificación JS

Crear páginas para Gecko, diferencias con IE, articulos de interés y recursos en español
naxao

Ayuda modificación JS

Mensajepor naxao » Mar Jun 16, 2009 11:27 pm

Actualmente estoy modificando un javascript de un complemento de firefox. No es que sea muy experto en esto pero algo me defiendo.

La cuestión es que la función que quiero cambiar es que cuando de en un link que han creado en el componente, me saque la url en una nueva pestaña a poder ser. Actualmente la función que hay es que al darle el link se guarde el archivo, por lo que se abre la ventanita típica de donde quiero guardar el archivo.. etc.

Me gustaría poder cambiar esto para que me saque el link en la misma ventana o en una nueva pestaña como ya he dicho, pero desconozco el procedimiento y el código que hay que modificar, pero si que he localizado en el js donde está esa función actual que es de guardar:

Código: Seleccionar todo

DownloadImage: function(url,name){
   var strbundle = Application.storage.get("Tsbe",null);
   
   var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);
   fp.defaultString = name;
   fp.init(window, strbundle.getString('guardartitle'), Components.interfaces.nsIFilePicker.modeSave);
   fp.appendFilter("Imagenes","*.jpg");
   
   var rv = fp.show();
   if (!(rv == Components.interfaces.nsIFilePicker.returnOK || rv == Components.interfaces.nsIFilePicker.returnReplace)) {
      return;
   }
   var file = fp.file;
   
   var name = file.leafName;
   name = (name.substring(name.length-4,name.length) == ".jpg")?name:name+".jpg";
   file.leafName = name;
   
   try{
      var persist = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Components.interfaces.nsIWebBrowserPersist);
      var obj_URI = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService).newURI(url, null, null);
   }catch(e){
      return;
   }
   
   persist.saveURI(obj_URI, null, null, null, "", file);
},




Muchas gracias por vuestra colaboración.
Un saludo

Invitado

Re: Ayuda modificación JS

Mensajepor Invitado » Mar Jun 30, 2009 9:41 pm

Código: Seleccionar todo

DownloadImage: function(url,name){
   var strbundle = Application.storage.get("Tsbe",null);
   
   var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);
   fp.defaultString = name;
   fp.init(window, strbundle.getString('guardartitle'), Components.interfaces.nsIFilePicker.modeSave);
   fp.appendFilter("Imagenes","*.jpg");
   
   var rv = fp.show();
   if (!(rv == Components.interfaces.nsIFilePicker.returnOK || rv == Components.interfaces.nsIFilePicker.returnReplace)) {
      return;
   }
   var file = fp.file;
   
   var name = file.leafName;
   name = (name.substring(name.length-4,name.length) == ".jpg")?name:name+".jpg";
   file.leafName = name;
   
   try{
      var persist = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Components.interfaces.nsIWebBrowserPersist);
      var obj_URI = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService).newURI(url, null, null);
   }catch(e){
      return;
   }
   
   persist.saveURI(obj_URI, null, null, null, "", file);
},



por:

Código: Seleccionar todo

DownloadImage: function(url,name){   
   try{
      var obj_URI = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService).newURI(url, null, null);
                Application.activeWindow.open(obj_URI);
   }catch(e){
      return;
   }
},



Nota: Usa la librería FUEL, que solo esta disponible a partir de firefox 3.0.


Volver a “Desarrollo web (HTML/CSS/JS, accesibilidad...)”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado