Chrome扩展程序:Javascript可以拦截文件下载并解析数据

时间:2011-11-19 16:02:11

标签: javascript html5 google-chrome-extension

我正在编写Chrome扩展程序以自动完成我的一项日常任务,部分任务是下载.csv文件并操纵数据。作为自动化的一部分,我想用Javascript抓取文件并让脚本操作它。

问题是使用XMLHttpRequest获取此文件将是一场噩梦,因为它们会发送大量唯一ID来验证用户,并且找出它们来自哪里是一场噩梦。

我可以使用javascript轻松点击按钮启动文件下载,但有没有办法让javascript拦截这个请求并解析CSV?我想如果使用普通的javascript我不可能使用HTML5文件API吗?

2 个答案:

答案 0 :(得分:6)

您可以尝试使用webRequest.onBeforeRequest API。当您想要下载请求时,您可以使用此方法取消它,获取正在使用的完整URL,并从JavaScript发出相同的请求。

答案 1 :(得分:0)

您可以通过在下载文件后使用向file://{filepath}的AJAX请求访问文件的内容来执行此操作。您只需要将file://*权限添加到清单文件中。

要在本地系统中获取下载文件的路径,请使用chrome.downloads.search并获取filename属性。