Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome扩展弹出窗口中的谷歌图表?_Javascript_Google Chrome_Google Chrome Extension_Google Visualization - Fatal编程技术网

Javascript Chrome扩展弹出窗口中的谷歌图表?

Javascript Chrome扩展弹出窗口中的谷歌图表?,javascript,google-chrome,google-chrome-extension,google-visualization,Javascript,Google Chrome,Google Chrome Extension,Google Visualization,我想让我的Chrome扩展的弹出页面显示一个谷歌图表,显示用户的新闻阅读习惯的信息。我注意到(特别是这里:)一个问题是Chrome扩展不允许内联脚本,这使得包含使用GoogleChart所需的API文件变得复杂。有办法解决这个问题吗?有没有什么地方可以让我下载整个API,只需将其包含在我的扩展中?如果文档位于Chrome扩展的上下文中,则不能使用Google图表,因为它违反了内联JavaScript规则。但是,您可以将iframe放入引用远程资源的扩展弹出窗口中。例如,如果弹出窗口中有以下代码段

我想让我的Chrome扩展的弹出页面显示一个谷歌图表,显示用户的新闻阅读习惯的信息。我注意到(特别是这里:)一个问题是Chrome扩展不允许内联脚本,这使得包含使用GoogleChart所需的API文件变得复杂。有办法解决这个问题吗?有没有什么地方可以让我下载整个API,只需将其包含在我的扩展中?

如果文档位于Chrome扩展的上下文中,则不能使用Google图表,因为它违反了内联JavaScript规则。但是,您可以将iframe放入引用远程资源的扩展弹出窗口中。例如,如果弹出窗口中有以下代码段:

<iframe src="https://mycoolextension.com/user/12345"></iframe>


然后,您可以在地址处使用谷歌图表创建一个应用程序。如果要将图表与扩展数据集成,则需要将参数添加到图表iframe的地址,或者在iframe中实现一个内容脚本,将消息值添加到iframe中。

原则上,扩展可以使用违反CSP的库。然而,这需要一个额外的环跳:

它是专门为解决这个问题而创建的。有关实现的详细信息,请参阅指南


您需要在普通脚本和沙盒之间交流结果,因为沙盒页面没有Chrome API访问权限。

这还不够好吗?我希望获得更多细节,或者可能是其他选择。你会注意到我在最初的帖子中链接到了这个帖子,它没有提供太多的答案——如果没有更多的答案,我想知道。也没有办法放松这个限制。对我来说似乎是一个明确的答案。
  "sandbox": {
    "pages": [
      "sandbox.html"
    ]
    "content_security_policy":
        "sandbox allow-scripts; script-src 'self' 'unsafe-eval' https://www.google.com/jsapi"
  ],