如何通过Google CAJA传递图书馆?

有谁知道我是否可以configurationGoogle Caja,所以它让一些确切的图书馆工作,而不是消毒? 我有我自己的CAJA服务器和基于NodeJS的应用程序。 我将传递给Google CAJA用户代码,这些代码主要与图表和graphics相关,但所有库函数(如d3js,chart.js)都被CAJA阻止。 所有的库都经过Caja并连接到用户的文档没有错误,但是如果用户请求任何库的function(例如d3.select("body").append("svg") ),那么它显示错误,就像this * is not a function 。 有谁知道任何方法?

PS我知道的URI政策,但它似乎只是控制所有的东西,这是走出了相同的起源的域名,每当甚至如果图书馆通过uriPolicy通过,它仍然由Caja检查。

您可以将url从uriPolicy.mitigate函数返回到预先缓解/预先声明/可信任版本的库。 你可以检查图书馆的url,如果它匹配你返回premitigated的url,否则返回null。 例如:

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