gpt4 book ai didi

javascript - 如何通过 Google CAJA 传递库?

转载 作者:行者123 更新时间:2023-11-30 00:03:31 25 4
gpt4 key购买 nike

有谁知道我是否可以配置 Google Caja,这样它就可以让某些确切的库正常工作而不被清理?我有自己的 CAJA 服务器和基于 NodeJS 的应用程序。我正在向 Google CAJA 用户传递代码,这些代码主要与图表和图形相关,但所有库函数(如 d3js、chart.js)都被 CAJA 阻止。所有库都通过 Caja 并无错误地连接到用户的文档,但是如果用户请求库的任何功能(例如 d3.select("body").append("svg") )那么它显示错误,例如 this * is not a function。有谁知道什么方法吗?

PS 我知道 URI 政策,但它似乎只控制所有东西,即来自同源域名的所有东西,无论何时,即使库通过 uriPolicy 传递,Caja 仍在检查它。

最佳答案

您可以从 uriPolicy.mitigate 函数将 url 返回到库的预缓解/预诱骗/受信任版本。您可以只检查库 url,如果匹配,则返回 premitigated URL,否则返回 null。例如:

var uriPolicy = {
mitigate: function(uri) {
if(/jquery\.js/.test(uri))
return urlToMyJquery.js;
else
return null;
}
}

关于javascript - 如何通过 Google CAJA 传递库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39385560/

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