小编Duh*_*uis的帖子

WebkitBlobBuilder上的createObjectURL的CSP问题

我在扩展程序中面临CSP问题...

我使用内容脚本来更改网站上的图像.我的内容脚本是将自己的图像添加到网站,所以我有以下警告:

[Report Only] Refused to load image from 'chrome://extension/xxx/...' 
because of Content-Security-Policy. 
The page at https://plus.google.com/u/0/hot displayed insecure content 
from chrome://extension/xxx/.... 
Run Code Online (Sandbox Code Playgroud)

所以我在清单中添加了以下行:

"content_security_policy": "default-src *" 
Run Code Online (Sandbox Code Playgroud)

并且警告消失了......

现在,我需要修改图像,为此,我将它们写入画布,获取dataURL并将其转换为WebkitBlobBuilder,以避免由于img标记上的src更改导致的内存泄漏(使用blob,我可以撤消它一次它已被使用,它释放了记忆......)

部分代码:

  //Code to create a blob from dataURI 
  base.dataURItoBlob = function(dataURI, callback) { 
      var byteString; 
      if (dataURI.split(',')[0].indexOf('base64') >= 0) 
          byteString = atob(dataURI.split(',')[1]); 
      else 
          byteString = unescape(dataURI.split(',')[1]); 
      var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
      var ab = new ArrayBuffer(byteString.length); 
      var ia = new Uint8Array(ab); 
      for (var i = 0; i < byteString.length; i++) { 
          ia[i] = …
Run Code Online (Sandbox Code Playgroud)

google-chrome-extension

5
推荐指数
1
解决办法
1157
查看次数

标签 统计

google-chrome-extension ×1