内容安全政策:在新(弹出)窗口中加载Google Map

基督教

在我的chrome扩展程序中,当用户单击浏览器操作符号时,会打开一个新的(弹出)窗口,加载Google Map。要打开窗口,请使用以下代码段

chrome.browserAction.onClicked.addListener(function() {
  chrome.windows.create({'url': 'popup.html', 'width': 500, 'height': 400 });
});

popup.html如下外观:

<!doctype html>
<html>
  <head>
    <title>Popup</title>
    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=true"></script>
    <script src="popup.js"></script>
  </head>
  <body>
    <div id="map-canvas" style="width:100%; height:100%"></div>
  </body>
</html>

我自然会遇到内容安全策略(CSP)问题。作为解决方案,我找到了这篇Stackoverflow文章。但是,它开箱即用。我得到了进一步的“拒绝加载脚本...” CSP错误消息。只有通过用所有必需的脚本扩展CSP行,我才最终使用以下命令运行它:

"content_security_policy": "script-src 'self' 'unsafe-eval' https://maps.googleapis.com https://maps.gstatic.com https://mts0.googleapis.com https://mts1.googleapis.com; object-src 'self';"

现在,我想知道这是否是正确的方法。我怎么知道所需的https URL列表不会随着时间变化?我尝试使用通配符(https://*/*),但这完全被炸掉了。或者,也许我完全使用了绞拧方法。

亚伯拉罕

无法保证Google Maps将从哪个域加载脚本。如果您需要使用更宽松的CSP规则,则如下所示:

script-src 'self' 'unsafe-eval' https:;

https:表示可以从任何域加载,但必须通过SSL加载。这不是理想的CSP规则集,因为它更容易受到JavaScript安全问题的影响。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Google Map信息窗口中显示动态内容

Google Map不会出现在模式弹出窗口中

Google Map API 在引导模式弹出窗口中显示空白地图?

Google Map无法在iOS中加载

加载Google Map时打开信息窗口

使用load ajax在当前页面中加载新的google map

内容安全政策:无法在Chrome扩展程序中加载Google API

Google Map API在信息窗口中显示标记位置

如何在弹出窗口中加载网页

在mvc弹出窗口中的dropdownlists中加载数据

Google Map无法在Android中加载它的给出错误

在Android中加载Google Map时出现问题

在href上的Google Map中加载位置信息

无法在本地HTML文件的Webview中加载Google Map

jsdom中加载的Google Map缺少地图图块和控件

EcmaScript 6 Map()与新Map()

从.map()返回的组件未在DOM中加载

在 Python Numpy 或 Pandas 中加载 .Map 文件

如何在父窗口中通知iframe yandex map的所有脚本已加载?

在新标记上单击Angular Google Map Close Info窗口

下载弹出窗口中的内容

Android Google Map无法加载

Google Map Display在一个小窗口中显示错误,并且没有展开

如何从Google Map的信息窗口中调用Angular2函数?

在sync.Map中加载或存储,而无需每次都创建新结构

为什么使用Google Maps API无法在iOS中加载Google Map?

使用回调和 ASP.Net MVC 在弹出窗口中加载选定的 GridView 项

Google Map Places自动完成功能被jQuery Mobile弹出窗口阻止

如何在点击Google Map Marker弹出窗口时添加输入控件