我試圖構建覆蓋文件下載並在瀏覽器中顯示它的Chrome擴展程序。例如,如果您點擊一個'.csv'文件的鏈接,我希望它在瀏覽器中呈現,而不是下載它。覆蓋使用Chrome擴展程序下載文件類型
的Chrome已經會爲PDF的類型和Xml Tree extension also does exactly that for xml files.
因此,它應該是可能的,只是不知道如何去捕捉這一事件?
我試圖構建覆蓋文件下載並在瀏覽器中顯示它的Chrome擴展程序。例如,如果您點擊一個'.csv'文件的鏈接,我希望它在瀏覽器中呈現,而不是下載它。覆蓋使用Chrome擴展程序下載文件類型
的Chrome已經會爲PDF的類型和Xml Tree extension also does exactly that for xml files.
因此,它應該是可能的,只是不知道如何去捕捉這一事件?
沿着由先前的回答顯示和專爲CSV文件中的行實現可以在此擴展我的被發現在GitHub上:
https://github.com/rgrp/chrome-csv-viewer
此外,隨着新的(ISH)鉻webrequest API直接的辦法也是現在可以大致如下:
顯示數據的這方面的一個工作版本可以在延伸的一個分支中找到:https://github.com/rgrp/chrome-csv-viewer/tree/4-webrequest-intercept
您可以隨時查看XML樹代碼:)。
如果您只需要使用鏈接,而不是從地址欄或文件>打開文件,您可以構建一個內容腳本,爲每個鏈接添加一個點擊事件監聽器。
在事件監聽功能:
在第一線添加e.preventDefault()
,以防止瀏覽器「下面」的鏈接。
使用鏈接href值,使用XMLHttpRequest獲取數據。
在XMLHttpRequest回調中,打開一個新選項卡並相應地呈現內容。
顯然,在許多方面,這不是一個很好的解決方案:
你想「正常」的鏈接,像往常一樣瀏覽器
你怎麼能告訴處理如果文本文件包含逗號分隔的值(例如),除非通過查看文件擴展名,當然這可能不可靠?
您是否特意考慮.csv文件 - 和/或其他特定類型的內容?
不確定,但這可能是相關http://code.google.com/p/chromium/issues/detail?id = 35070 和 http://groups.google.com/a/chromium.org/group/chromium-extensions/browse_thread/thread/a76cb5f021bbce7e/a1c439d747250170?lnk=gst&q=file+type#a1c439d747250170 – timoxley