quantum para habilitar descargar cómo activar javascript firefox file operation

habilitar - descargar javascript para mozilla firefox



Cómo crear un archivo usando javascript en Mozilla Firefox (8)

Javascript desde sitios web no puede acceder al sistema de archivos local.

Si desea almacenar datos, almacénelos en el servidor o en una cookie.

Quiero escribir una función en javascript que crea un archivo y escribir algo de contenido, iam trabajando con Firefox, ¿alguien me puede ayudar en este caso?

Gracias...



Puedes leer archivos del sistema de archivos en JavaScript con Firefox 3.6 - ver mi prueba de concepto del lector EPUB , por ejemplo.

Sin embargo, no puedes escribir archivos directamente desde JavaScript. Tienes que ir a través de un servidor.


Si bien todos los que respondieron que JavaScript no tiene la capacidad de escribir archivos en un servidor remoto son correctos, y esto es cierto por razones de seguridad, lo que desea lograr aún puede ser posible.

Por ejemplo, si desea hacer posible crear un archivo en su sitio web con el uso de javascript, puede hacerlo con un lenguaje de scripting del lado del servidor y una llamada AJAX.

Ejemplo:

Usted tiene un archivo en su servidor llamado update_last_access.php que creará un archivo que almacena la última vez que se accedió al archivo en algún archivo arbitrario.

Si luego tuviste tu función javascript haz una llamada AJAX a esa secuencia de comandos, por ejemplo, en jquery

$.get("update_last_access.php")

Entonces esto ejecutaría el script del lado del servidor y escribiría en el archivo.

Antes de que se le brinde más ayuda, tendrá que aclarar lo que está tratando de hacer.


la escritura en el sistema de archivos directamente desde un navegador está prohibida por razones de seguridad. Con html5, sin embargo, será posible tener soporte de almacenamiento sin conexión. Echa un vistazo aquí .

Grz, Kris.




Puede escribir archivos en JavaScript en Firefox, pero debe usar un objeto XPCOM (API interna del navegador). Esto no está permitido para JavaScript cargado desde una página web, y está destinado a ser utilizado por JavaScript corriendo dentro de un complemento de Firefox (con alto nivel de privilegios).

Existe una forma de que JavaScript sin privilegios (página web) solicite más privilegios y, si el usuario lo otorga (habrá un cuadro de diálogo emergente solicitando permiso), el código de la página web podría escribir en un archivo.

Pero antes de seguir leyendo, una advertencia:

Esto no es JavaScript estándar y no recomendaría este enfoque a menos que esté desarrollando una aplicación muy específica, que se usará de una manera muy específica (como por ejemplo, http://www.tiddlywiki.com/ un JavaScript del lado del cliente). -HTML solo wiki).

¡Solicitar privilegios de XPCOM en un sitio web es una mala práctica! Es básicamente equivalente a ejecutar un .exe que acaba de descargar de un sitio. Le está pidiendo a un usuario que otorgue acceso completo a su computadora (leer, escribir, ejecutar) con la identidad del usuario que ejecuta Firefox.

Solicite permiso para usar XPCOM (esto solicitará confirmación al usuario, no hay manera de evitarlo):

netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

Luego, escriba en un archivo usando un objeto XPCOM (código de ejemplo de Mozilla Developer Network):

1. // file is nsIFile, data is a string 2. var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"]. 3. createInstance(Components.interfaces.nsIFileOutputStream); 4. 5. // use 0x02 | 0x10 to open file for appending. 6. foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0); 7. // write, create, truncate 8. // In a c file operation, we have no need to set file mode with or operation, 9. // directly using "r" or "w" usually. 10. 11. // if you are sure there will never ever be any non-ascii text in data you can 12. // also call foStream.writeData directly 13. var converter = Components.classes["@mozilla.org/intl/converter-output-stream;1"]. 14. createInstance(Components.interfaces.nsIConverterOutputStream); 15. converter.init(foStream, "UTF-8", 0, 0); 16. converter.writeString(data); 17. converter.close(); // this closes foStream

Puede encontrar más información sobre E / S en Firefox usando XPCOM aquí: https://developer.mozilla.org/en-US/docs/Code_snippets/File_I_O