【发布时间】: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