由于Google正在推动我们在Chrome扩展程序中使用manifest v2及其所有安全功能,因此我无法使用Google Visualization(其图表专用),因为错误“无效的JSON字符串”。我认为它必须是另一个错误,但错误信息是错误的。
根据Visualization API Reference,第二个参数是可选的,但是当我没有将它传递给draw方法时,错误将变为无效的JSON字符串:“{}”。否则,整个JSON选项对象将被打印为无效,因此其中没有任何错误。如果您对它有任何疑问 - 它对清单v2没有任何问题。
我也试过沙箱加载Visualization API的html文件,并试图在iframe中绘制图形,但是经过几个小时的试错法,当我最终设法让它继续下去时,还有另一个错误抛出“你浏览器不支持图形。“这说明绰绰有余:),但正如我一样好奇的程序员,我查看了devtools控制台,看到一条错误消息“不安全的JavaScript尝试访问带有URL的框架:带框架的空白...”我放弃了
如果您对此问题有任何想法和想法,请与我分享。
答案 0 :(得分:1)
您可以通过在安全策略中添加“unsafe-eval”来解决此问题。
e.g。 "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
来源:https://developer.chrome.com/extensions/contentSecurityPolicy.html
答案 1 :(得分:0)
问题的根源似乎是Chrome安全策略,它不允许Visualization代码使用的某些功能,例如iframe的eval()和内联onload处理程序。请参阅http://code.google.com/p/google-visualization-api-issues/issues/detail?id=978。