如何在Chrome Packaged App中允许此代码而不违反CSP?

时间:2014-06-19 14:07:51

标签: google-chrome google-chrome-app content-security-policy

控制台中的第一个标记为' unsafe-eval'。如何更改它以便对其进行评估?

index.js:

function testForFunction(str) {
return function () { result(typeof eval(str) == "function"); }

此错误未在控制台中指定。控制台仅表示违反了内容安全策略。

index.js:

function loadTestFrame(cb, src) {
if (!testFrame) { testFrame = createTestFrame(); }
frameLoadCallback = cb;

src = src || 4;

if (typeof src == "number") {
  var pgs = [];
  for (var i = 1, ii = src; i <= ii; ++i) {
    pgs.push("<div>Page "+i+"</div>");
  }
  var divStyle = [
    "display:inline-block",
    "line-height:"+testFrameSize+"px",
    "width:"+testFrameSize+"px"
  ].join(";");
  src = "javascript:'<!DOCTYPE html><html>"+
    '<head><meta name="time" content="'+(new Date()).getTime()+'" />'+
    '<style>div{'+divStyle+'}</style></head>'+
    '<body>'+pgs.join("")+'</body>'+
    "</html>'";
}

testFrame.src = src;
}

我知道有办法放宽默认政策,但如果可能,我宁愿不要使用它们。

1 个答案:

答案 0 :(得分:3)

如果您需要其他CSP,则需要使用沙盒页面(https://developer.chrome.com/apps/manifest/sandbox)。