AngularJS html绑定和Chome应用程序CSP

AngularJS html bind and Chome application CSP

本文关键字:应用程序 CSP Chome html 绑定 AngularJS      更新时间:2023-09-26

我一直在开发AngularJS应用程序,并试图从中进行Chrome扩展。

应用程序以JSON格式从远程服务器获取提要,其中一个值是通过使用ngSanitize绑定的HTML。在尝试绑定它并将其内容显示为Chrome应用程序的一部分之前,一切都很好。

我知道"问题"在于CSP,它是强制性的,没有办法绕过它(没有沙盒和网络视图,我想这是不可能的)。

Google使用并提出了对远程资源发出XHR请求并将其标记为blob的方法,但在本例中,Angular正在进行所有HTML解析并将其加载到网页上。

我的问题是,如果有人有类似的问题和/或如何处理?

谢谢!

EDIT 1.HTML可能有img标记。通过这种方式,它只显示文本。

第2版。我想出了下面这个主意,也许可以完成这项工作。

  1. 获取HTML文本
  2. 在有问题的标记后添加指令(例如img)
  3. 让指令从src属性中获取URL,并发出XHR请求
  4. 收到后,将其标记为BLOB,并在src属性中提供

我没有那么多经验,所以我看不出这个想法有任何陷阱。

您可以使用后台脚本作为代理,它将能够执行xhr并通过sendResponse返回响应。

关于扩展通信的文档

别忘了在你的模板中使用这个

<html data-ng-app="myApp" data-ng-csp>

ng-csp将允许运行角度指令

希望这能回答您的问题