Google visualizzazione sono infatti utilizza eval()
internamente
Currently Google Visualization API is using:
1. eval on corechart.I.js (3 times)
2. eval on jsapi
tratto da here, una segnalazione di bug per quanto riguarda GV e la compatibilità v2 Chrome App manifesto, circa 1 mese di età. Google Visualization per sé non è conforme alle regole di Manifest V2:
Is your code or library using eval(), new Function(), innerHTML, setTimeout(), or otherwise passing strings of JS code that are dynamically evaluated?
- Use JSON.parse() if you’re parsing JSON code into an object.
- Use a CSP-friendly library, for example, AngularJS.
- Create a sandbox entry in your manifest and run the affected code in the sandbox, using postMessage() to communicate with the sandboxed page.
Così se stessi di Google sono più o meno consapevoli del problema.
La mia impressione è che GV utilizzi internamente eval(jsonString)
anziché JSON.parse()
a causa della compatibilità del browser. JSON.parse()
non era disponibile prima di IE8, precedente FF 3.1 e così via (vedere compatibility list), ecco perché si ottiene l'errore JSON non valido quando si blocca eval()
.
Poiché ciò influisce anche sul modo in cui GV è conforme alle regole Manifest, credo che il problema scomparirà molto presto.
"Poiché ciò influisce anche sul modo in cui GV è conforme alle regole Manifest, immagino che il problema scompaia molto, molto presto". 18 mesi dopo, questo non è ancora stato risolto. – Flavien
@Flavien ,, non incolpare me, incolpare Google – davidkonrad
Non preoccuparti, non ti sto incolpando :) – Flavien