1

由于谷歌正在推动我们在 Chrome 扩展中使用清单 v2 及其所有安全内容,因此我无法使用谷歌可视化(特别是它的图表),因为错误“无效的 JSON 字符串”。我相信这一定是另一个错误,但错误消息是错误的。

根据Visualization API Reference,第二个参数是可选的,但是当我不将它传递给 draw 方法时,错误变为Invalid JSON string: "{}"。否则,整个 JSON 选项对象将被打印为无效,因此它绝对没有错误。如果您对它有任何疑问 - 它适用于 manifest v2。

我还尝试对加载 Visualization API 的 html 文件进行沙盒处理,并尝试在 iframe 中绘制图形,但是经过数小时的试错方法后,当我最终设法让它运行时,又抛出了另一个错误,说“你的浏览器没有支持图表。”。这解释得绰绰有余:),但是像我一样好奇的程序员,我查看了 devtools 控制台,看到一条错误消息“不安全的 JavaScript 尝试访问带有 URL 的框架 about:blank from frame with URL ...”然后我放弃了.

如果您对这个问题有任何想法和想法,请与我分享。

4

2 回答 2

1

您可以通过在安全策略中添加“unsafe-eval”来解决此问题。

例如"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"

来源:https ://developer.chrome.com/extensions/contentSecurityPolicy.html

于 2012-10-25T20:32:27.623 回答
0

问题的根源似乎是 Chrome 安全策略,它不允许可视化代码使用的某些功能,例如 eval() 和 iframe 的内联 onload 处理程序。请参阅http://code.google.com/p/google-visualization-api-issues/issues/detail?id=978

于 2012-09-11T00:37:12.873 回答