【问题标题】:Not allowed to load local resource: <blob_url> while accessing url in content script不允许在内容脚本中访问 url 时加载本地资源:<blob_url>
【发布时间】:2014-01-28 10:41:21
【问题描述】:

我正在尝试在我的内容脚本中读取本地文件。我正在使用扩展弹出窗口中的文件对话框上传本地文件,然后将 url 作为消息发送到内容脚本。

我从我的 chrome 扩展程序的弹出 js 中的本地读取文件创建了一个 blob URL,然后将其作为消息传递给内容脚本,我尝试通过 xhr 获取它。我验证了在内容脚本中正确接收了 url,并且在 chrome 中加载的 url 具有正确的内容。我在附加代码的最后一行收到此错误。

Not allowed to load local resource: blob:chrome-extension%3A//kbapkffopcceekghjelpjphdebhdkohi/9e40f540-9eb8-4ea6-ae7d-6ad52e7d2f89

代码:-

JSONFromUrl = function (url) {
  var xhr = new XMLHttpRequest();
  xhr.open('GET', url, true);
  xhr.responseType = 'blob';
  xhr.onload = function(e) {
  if (this.status == 200) {
  console.log("success");
    };
  }
  };
  xhr.send();
};

我在清单权限中添加了“file:///*”,但我不确定是否有遗漏的内容

【问题讨论】:

  • 您不能使用本地文件来执行此操作。您必须在网络服务器上运行您的脚本。
  • 你的意思是来自 chrome 扩展的 content_scripts 只能访问非本地 url 吗?
  • 转到 chrome://extensions,并在您的扩展程序上选中“允许访问文件 url”。
  • @YoArgentino:已经检查过了。

标签: javascript html google-chrome-extension


【解决方案1】:

这看起来像一个 Chrome 错误,请参阅:https://code.google.com/p/chromium/issues/detail?id=295829 - 我也在尝试找出解决它的方法,但还没有运气...

【讨论】:

  • 可能。我设法将文件作为数组缓冲区发送,但我仍然觉得传递 URL 会更可取。
猜你喜欢
  • 2022-11-26
  • 2016-10-08
  • 2016-11-04
  • 2014-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多