我正在尝试构建一个chrome扩展,它会覆盖文件的下载并在浏览器中显示。例如,如果您点击“.csv”文件的链接,我希望它在浏览器中呈现而不是下载。
Chrome已针对PDF类型和Xml Tree extension also does exactly that for xml files.
执行此操作所以它应该是可能的,只是不确定如何去捕捉那个事件?
答案 0 :(得分:5)
可以在github上的我的扩展中找到前面答案中指示的并且专门为CSV文件设计的实现:
https://github.com/rgrp/chrome-csv-viewer
此外,使用新的(ish)chrome webrequest API,现在还可以通过以下方式直接进行:
可以在该扩展程序的分支中找到此工作版本:https://github.com/rgrp/chrome-csv-viewer/tree/4-webrequest-intercept
答案 1 :(得分:2)
您可以随时查看XML树代码:)。
如果您只需要使用链接,而不是从地址栏或文件>中打开文件;打开,您可以构建一个内容脚本,为每个链接添加一个单击事件侦听器。
在事件监听器功能中:
在第一行添加e.preventDefault()
,以防止浏览器“关注”该链接。
使用链接href值,使用XMLHttpRequest获取数据。
在XMLHttpRequest回调中,打开一个新标签并相应地呈现内容。
显然,在很多方面,这不是一个很好的解决方案:
您希望浏览器正常处理“普通”链接
如何判断文本文件是否包含逗号分隔值(例如),除非查看文件扩展名,当然,这可能不可靠?
您是否特别考虑.csv文件 - 和/或其他特定类型的内容?