gpt4 book ai didi

javascript - AngularJS html 绑定(bind)和 Chome 应用程序 CSP

转载 作者:行者123 更新时间:2023-12-03 11:46:53 25 4
gpt4 key购买 nike

我一直在开发 AngularJS 应用程序并尝试从中创建 Chrome 扩展。

应用程序以 JSON 格式从远程服务器获取源,其中一个值是 HTML,它是使用 ngSanitize 绑定(bind)的。一切都很好,直到尝试绑定(bind)它并将其内容显示为 Chrome 应用程序的一部分。

我知道“问题”在于强制执行的 CSP,并且没有办法解决它(没有沙箱和 webview,我猜这是不可能的)。

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

我的问题是是否有人遇到类似的问题和/或如何处理?

谢谢!

编辑 1. 例如,HTML 可能有 img 标签。这样,除了文本之外,它不会显示任何内容。

编辑2。我想出了以下可能完成这项工作的想法。

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

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

最佳答案

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

Doc about extension communication

并且不要忘记在您的模板中使用它

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

ng-csp将允许运行 Angular Directive(指令)

希望这能回答您的问题

关于javascript - AngularJS html 绑定(bind)和 Chome 应用程序 CSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26015074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com