Me gustaría referirme al número de versión como se define en mi manifest.json en mis extensiones de archivos JavaScript. ¿Hay alguna manera de hacer esto?¿Puedo acceder a una propiedad desde mi manifest.json en los archivos JavaScript de mi extensión?
36
A
Respuesta
83
Desde cromo 22 se debe utilizar chrome.runtime.getManifest()
. See docs here.
lo que ahora es tan simple como:
var manifest = chrome.runtime.getManifest();
console.log(manifest.name);
console.log(manifest.version);
5
creo que esto es lo que está buscando http://www.martinsikora.com/accessing-manifest-json-in-a-google-chrome-extension
chrome.manifest = (function() {
var manifestObject = false;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
manifestObject = JSON.parse(xhr.responseText);
}
};
xhr.open("GET", chrome.extension.getURL('/manifest.json'), false);
try {
xhr.send();
} catch(e) {
console.log('Couldn\'t load manifest.json');
}
return manifestObject;
})();
Y eso es todo. Este fragmento de código corto carga el objeto manifiesto y lo coloca entre otras API chrome.*
. Por lo tanto, ahora usted puede conseguir cualquier información que desee:
// current version
chrome.manifest.version
// default locale
chrome.manifest.default_locale
+0
perfecto, esto funcionó. Lo único que tuve que cambiar fue el nombre del IIFE para manifestar en lugar de chrome.manifest. – bittersweetryan
Cuestiones relacionadas
- 1. no puedo acceder a mi Método de extensión
- 2. Apache: ¿cómo puedo acceder a mi página web desde una computadora fuera de mi red?
- 3. ¿Cómo puedo acceder a mi servidor localhost desde otras computadoras?
- 4. ¿Cómo obtener el ID de mi extensión desde JavaScript?
- 5. ¿Puedo acceder a una enumeración C# en mi vista Razor?
- 6. No puedo acceder al administrador de configuración desde mi solución
- 7. ¿Cómo puedo acceder a los iconos de vista previa de archivos de Windows desde mi aplicación WPF?
- 8. ¿Cómo puedo acceder a los archivos INI desde Perl?
- 9. Asp.Net Mvc: No puedo acceder al espacio de nombres de mi modelo desde mi vista
- 10. Servicio de Windows, no puedo acceder a app.config desde el constructor de mi Instalador
- 11. cómo acceder a los contactos en mi programa de Android
- 12. ¿Acceder a una propiedad de modelo en un archivo javascript?
- 13. ¿Cómo puedo acceder a mi panel táctil en C#?
- 14. ¿Cómo puedo crear una propiedad personalizada para mi ensamblaje?
- 15. ¿Cómo puedo eliminar todos los archivos en mi repositorio de git y actualizar/enviar desde mi repositorio de git local?
- 16. ¿Qué es un archivo manifest.json y dónde puedo encontrarlo en mi máquina?
- 17. ¿Cómo puedo acceder a una propiedad adjunta en el código?
- 18. No puedo acceder a los valores dentro de mi iFrame me da permiso denegado
- 19. ¿Puedo descargar un db SQLite en/sdcard y acceder desde mi aplicación de Android?
- 20. ¿Puedo acceder a una cookie desde Socket.io?
- 21. cómo comprimir los archivos javascript servidos desde mi aplicación Rails que se ejecuta en apache/pasajero?
- 22. ¿Cómo puedo obligar a los usuarios a acceder a mi página a través de HTTPS en lugar de HTTP?
- 23. ¿Cómo puedo crear mi propio archivo vsdoc.js para mi JavaScript?
- 24. No puedo acceder a mi clase desde código subyacente. Class es la carpeta App_Code
- 25. ¿Cómo puedo acceder a los elementos de iframe con Javascript?
- 26. ¿Puedo acceder al sistema de archivos de mi iPhone usando Xcode?
- 27. ¿Cómo puedo vender mi extensión de Google Chrome?
- 28. ¿Cómo puedo acceder al frijol raíces en mi plantilla FreeMarker?
- 29. ¿Por qué mi extensión de Chrome no se actualiza automáticamente?
- 30. No puedo agregar archivos a mi repositorio con Eclipse EGit
+1, asegúrese de probar si está disponible primero. if (typeof (chrome.runtime.getManifest) == 'function') { – fedmich
Debido a la función de actualización automática de Chrome que no puede ser desactivada por un usuario ordinario, supongo que actualmente nadie usa la versión de abajo 22. Pero es una buena idea incluir en el manifiesto: ** "minimum_chrome_version": "22.0.0.0" ** –