mpe*_*pen 6 google-chrome-extension
我想生成一个CSV文件作为一些用户交互的结果,然后提示用户下载它.我怎样才能做到这一点?
我不认为直接JS是可能的,但也许Chrome给了我一些提升的权限?
您现在可以使用HTML5 File API下载文件.它仍在开发中,但您可以使用BlobBuilder并重定向您的使用以下载该文件:
var bb = new BlobBuilder();
bb.append(csvContents);
var blob = bb.getBlob();
location.href = window.webkitURL.createObjectURL(blob);
Run Code Online (Sandbox Code Playgroud)
有关File API的更多信息,HTML5Rocks有一个很棒的教程:
http://www.html5rocks.com/tutorials/file/filesystem/
我最近需要做同样的事情 - 生成文件并在 Chrome 扩展中强制下载。这是使用 ES6 和推荐方法执行此操作的代码片段:
let docContent = ... /* your content */;
let doc = URL.createObjectURL( new Blob([docContent], {type: 'application/octet-binary'}) );
chrome.downloads.download({ url: doc, filename: filename, conflictAction: 'overwrite', saveAs: true });
Run Code Online (Sandbox Code Playgroud)
您还必须在以下方面声明适当的特权manifest.json:
"permissions" : ["downloads"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4664 次 |
| 最近记录: |