由于内容安全策略,addRemoteJS api在firefox中的crossrider扩展中不起作用

时间:2014-12-30 10:06:29

标签: crossrider

在我的crossrider扩展中,我使用以下api在gmail页面上添加远程JS。

appAPI.dom.addRemoteJS({
    url: "https://myserver.com/JS/myJs.min.js",
    additionalAttributes: {charset: "UTF-8"},
    callback: function(ref) {

}

这是一个有效的扩展代码。由于gmail的内容安全策略,代码已停止工作并在firefox中提供以下消息: 内容安全策略:页面设置阻止了https://myserver.com/JS/myJs.min.js(script-src)上的资源加载

是否有任何解决方法可以从远程网址加载js。

1 个答案:

答案 0 :(得分:1)

看起来像CSP保护问题。您可以尝试通过注入脚本来解决此问题,例如

appAPI.request.get({
  url: 'https://myserver.com/JS/myJs.min.js';,
  onSuccess: function(result) {
    var s = document.createElement('SCRIPT');
    s.type = 'text/javascript';
    s.charset = 'UTF-8';
    s.text = result;
    document.head.appendChild(s);
  }
});

[披露:我是Crossrider员工]