Mi piacerebbe fare riferimento al numero di versione definito nel mio manifest.json nelle mie estensioni di file JavaScript. C'è un modo per fare questo?Posso accedere a una proprietà dal mio manifest.json nei file JavaScript della mia estensione?
36
A
risposta
83
Dal momento che Chrome 22 si dovrebbe usare chrome.runtime.getManifest()
. See docs here.
Così ora è semplice come:
var manifest = chrome.runtime.getManifest();
console.log(manifest.name);
console.log(manifest.version);
5
Penso che questo è ciò che stai cercando 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;
})();
E questo è tutto. Questo breve snippet di codice carica l'oggetto manifest e lo inserisce tra le altre API chrome.*
. Quindi, ora è possibile ottenere tutte le informazioni desiderate:
// current version
chrome.manifest.version
// default locale
chrome.manifest.default_locale
+0
Perfetto, questo ha funzionato. L'unica cosa che dovevo cambiare era il nome dell'IIFE da manifestare invece di chrome.manifest. – bittersweetryan
Problemi correlati
- 1. Estensione per Chrome: impossibile caricare file javascript
- 2. Creazione di file javascript con estensione .php
- 3. Come posso accedere all'ID modello componente dal mio componente DWT?
- 4. Come posso accedere a memcached con Javascript?
- 5. Chrome dice file manifesto della mia estensione è mancante o illeggibile
- 6. Come accedere al php.ini dal mio CPanel?
- 7. Come posso accedere al mio ViewModel dal codice sottostante
- 8. Accedi a una proprietà Model in un file javascript?
- 9. Come posso impostare un'icona per la mia estensione di file
- 10. dictionaryWithContentsOfFile che restituisce nil dal mio elenco di proprietà file
- 11. Come accedere a un file di testo dall'interno della mia guerra
- 12. Come posso accedere a ResourceDictionary in wpf dal codice C#?
- 13. Posso accedere a un C# enum nella mia vista Razor?
- 14. Come accedere al mio server linux SSH dall'esterno della mia rete domestica
- 15. javascript: come accedere alle proprietà statiche
- 16. Eliminare una voce dal file di proprietà
- 17. È possibile accedere all'oggetto MVC ViewBag dal file Javascript?
- 18. Come posso accedere a un processo memorizzato di SQL Server dal mio codice C#?
- 19. Come posso accedere alla mia funzione C++ nel mio codice C o viceversa?
- 20. accedere a una proprietà di un DbSet per nome
- 21. Come gestire la localizzazione nei file JavaScript?
- 22. Come faccio a cambiare la mia "legacy packaged app" in una "estensione"?
- 23. Compressore Django - CloudFront e manifest.json
- 24. Strano comportamento accesso a una proprietà in un oggetto JavaScript
- 25. Come accedere a una proprietà creata in global.asax.cs?
- 26. Accedere a una proprietà statica di una classe generica?
- 27. Posso cancellare una build di TeamCity dal mio script msbuild?
- 28. Posso impostare più valori della stessa proprietà CSS con Javascript?
- 29. Come accedere al mio viewController dalla mia appDelegate? iOS
- 30. Come posso estrarre database dal mio android sul mio desktop?
+1, assicurati di verificare se è disponibile per primo. if (typeof (chrome.runtime.getManifest) == 'function') { – fedmich
A causa della funzionalità di aggiornamento automatico di Chrome che non può essere disabilitata da un utente ordinario, suppongo che attualmente nessuno usi la versione successiva 22. Ma è una buona idea includi al manifest: ** "minimum_chrome_version": "22.0.0.0" ** –