Google Visualization verwendet in der Tat eval()
intern
Currently Google Visualization API is using:
1. eval on corechart.I.js (3 times)
2. eval on jsapi
Entnommen here, ein Fehlerbericht in Bezug auf GV und Chrome App Manifest v2-Kompatibilität, etwa 1 Monat alt. Google Visualization nicht selbst entspricht den Regeln der 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.
So google sich so ziemlich das Problem bekannt sind.
Mein Eindruck ist, dass GV intern eval(jsonString)
anstelle von JSON.parse()
aufgrund der Browser-Kompatibilität verwenden. JSON.parse()
war nicht verfügbar vor IE8, vorherige FF 3.1 und so weiter (siehe compatibility list), deshalb erhalten Sie den ungültigen JSON-Fehler, wenn Sie eval()
blockieren.
Da dies auch Auswirkungen darauf hat, wie GV den Manifest-Regeln entspricht, wird das Problem sehr, sehr bald verschwinden.
"Da dies auch Einfluss darauf hat, wie GV den Manifest-Regeln entspricht, wird das Problem sehr, sehr bald verschwinden". 18 Monate später ist dies immer noch nicht behoben. – Flavien
@Flavien ,, beschuldige mich nicht, beschuldige Google – davidkonrad
Mach dir keine Sorgen, ich beschuldige dich nicht :) – Flavien