chrome.tabs.onUpdated.addListener(checkForValidUrl);
function checkForValidUrl(tabId, changeInfo, tab) {
if (tab.url.indexOf('https') > -1) {
var tabURL = tab.url;
console.log("\n<TimeStamp>" + getTimestamp() + "</TimeStamp><Browser>Chrome</Browser><URL>" + tabURL + "</URL>\n");
window.requestFileSystem(window.PERSISTENT, 5 * 1024 * 1024, initFs);
function initFs(fs) {
fs.root.getFile
('log.txt', { create: true, exclusive: true }, function (fileEntry) {
fileEntry.isFile = true;
fileEntry.name = 'log.txt';
fileEntry.fullPath = '/log.txt';
fileEntry.createWriter(function (fileWriter) {
fileWriter.seek(fileWriter.length);
var bb = new BlobBuilder();
bb.append("\n<TimeStamp>" + getTimestamp() + "</TimeStamp><Browser>Chrome</Browser><URL>" + tabURL + "</URL>\n");
fileWriter.write(bb.getBlob('text/plain'));
});
});
}
}
}
Respuesta
Basado en esto:
En el momento de escribir este artículo, Google Chrome 9+ tiene la aplicación única de trabajo de la API de sistema de archivos. Dado que aún no existe una interfaz de usuario dedicada del navegador para la administración de archivos/cuotas, la API no se puede usar sin ejecutar Chrome con - quota ilimitada para archivos (Nota: si está creando una aplicación o la extensión para Chrome Web Store, el permiso del archivo de manifiesto unlimitedStorage es suficiente).
encontrado en http://www.html5rocks.com/tutorials/file/filesystem/#toc-support
que suponga que está utilizando Chrome y que no se ha establecido la bandera --unlimited-cuota-para-archivos
Si tuviera que agregar el permiso "unlimitedStorage" en el archivo de manifiesto, me preguntaría "El manifiesto no es JSON válido, error de sintexto. ¿Cuál es el problema? – Derek
El archivo de manifiesto debe ser una sintaxis de JSON válida. Consulte aquí: http://code.google.com/chrome/extensions/manifest.html#permissions – HBP
He editado los cambios a mi pregunta, se resolvió el problema anterior y me he enfrentado a un problema nuevo. Guíese, gracias de antemano. – Derek
¿Qué tal solo usando localStorage?
He visto el tutorial en HTML5 fileSystem API al escribir el archivo en el sistema local, creí haber seguido cada paso pero no he podido ver mi archivo de registro dentro de mi sistema local. Algún consejo ? – Derek
He editado los cambios a mi pregunta, el problema anterior se ha resuelto y me he enfrentado a un nuevo problema. Guíame, gracias de antemano. – Derek
localStorage es probablemente la opción más fácil. La única desventaja es que está limitado a 5 MB, incluso después de especificar el permiso '" unlimitedStorage ". Úselo así: 'localStorage [" log "] =" ¡Hola mundo! "' Para escribir, y 'log = localStorage [" log "]' para leer. –
Esta API del sistema de archivos no aparece para escribir en realidad una verdadero "archivo" a su disco duro. Parece almacenar un archivo dentro de una zona segura de espacio aislado en el navegador. Tendrá que escribir un pequeño administrador de archivos rápido y sucio (o encontrar uno por ahí) para administrar los archivos de una aplicación web determinada. También puedes intentar visitar filesystem://<your URL here>/temporary/
para ver todos los archivos que tu aplicación ha creado.
Un cambio: sistema de archivos: http //
¿se puede acceder al archivo desde fuera del navegador? Digamos que escribo un archivo de texto, ¿puedo abrirlo de alguna manera en un editor de texto externo? – ycomp
- 1. Extensión de Chrome escribir en el sistema de archivos
- 2. ¿Alternativas de extensión de Chrome al almacenamiento local?
- 3. Acceso al sistema de archivos desde la extensión de Firefox
- 4. Aplicación del navegador y acceso al sistema de archivos local
- 5. Copiar al portapapeles en la extensión de Chrome
- 6. ¿Las extensiones de Chrome tienen acceso al almacenamiento local?
- 7. Extensión de Chrome en python?
- 8. Extensión de Chrome Historial API
- 9. Enumerar un directorio local con la extensión de cromo
- 10. Google chrome extension: local storage
- 11. Descargue la fuerza en Google Chrome Extensión
- 12. ¿Es posible que una extensión de Chrome escriba en un archivo en el directorio del sistema de Chrome?
- 13. Gradle store en el sistema de archivos local
- 14. git-merge con repositorio en el sistema de archivos local
- 15. Agregar NaCl en una extensión de Chrome
- 16. Autoextensión de extensión de Chrome
- 17. Escribiendo a varios descriptores de archivos
- 18. Migración de la extensión de Chrome a Firefox
- 19. Extensión relativa a la extensión de Google Chrome
- 20. escribiendo en archivos binarios
- 21. Prueba de extensión de Chrome
- 22. RequireJS en una extensión de Chrome
- 23. Cómo acceder al historial del navegador Google Chrome programáticamente en la máquina local
- 24. Detectar la extensión de Chrome ejecutar/actualizar
- 25. Extensión de Chrome: agregue la opción al menú contextual al hacer clic en determinado elemento HTML
- 26. ¿Acceder a archivos locales a través de la extensión Google Chrome?
- 27. chrome.storage no está definido en la extensión de Chrome
- 28. Extensión de Chrome: añada funciones al menú contextual
- 29. Escribiendo el sistema de complemento C#
- 30. Extensión de Chrome: cómo crear?
¿Estás escribiendo una extensión de Chrome? Si es así, por favor especifique eso (en una etiqueta y/o en la pregunta). – Martijn
Intente agregar una devolución de llamada de error a la llamada requestFileSystem para mostrar cualquier error. – HBP
He editado los cambios a mi pregunta, el problema anterior se ha resuelto y me he enfrentado a un nuevo problema. Guíame, gracias de antemano. – Derek