使用 Greasemonkey 保存文件
我有一些屏幕抓取的表格数据,我想将其导出到 CSV 文件(目前我只是将其放在剪贴板中),有什么办法可以在 Greasemonkey 中执行此操作吗?关于在哪里寻找有关此类功能的示例或一些文档有什么建议吗?
需要明确的是,我不想写入本地文件系统(我知道这在沙箱中是不可能的),而是提供一个可下载的文件 - 这也可能是不可能的......
I have some screen scraped tabular data that I want to export to a CSV file (currently I am just placing it in the clipboard), is there anyway to do this in Greasemonkey? Any suggestions on where to look for a sample or some documentation on this kind of functionality?
Just to be clear, I don't want to write to the local file system (I know that is impossible in the sandbox), but present a downloadable file - which may also be impossible...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
演示
DEMO
是的,您可以使用 BLOB 来做到这一点。
该脚本会将内容附加到链接,单击该链接将提供下载文件(从未存在的文件)。
更多信息:
这就是我的做法(还有很多其他方法可以做到这一点):
您许多需要对对象进行字符串化/解析。
我稍微修改了原始脚本,使其适用于多种 mime 类型。
这是我的。
希望有帮助。
Yes you can do it using BLOB.
The script will attach content to a link that when clicked will offer to download a file (a file that never existed).
More info on:
This is how I did it (there are many other ways to do it):
You many need to stringify / parse the object.
I modified slightly the original script to make it generic for multiple mime types.
Here is mine.
Hope it helps.
也许您无法将其写入本地 CSV,但您可以将其写入 Google 电子表格?
Maybe you can't write it to a local CSV, but you might be able to write it to say a Google Spreadsheet?
另一种方法可能是,如果你为每个 cvs 行触发一个 javascript 控制的 http 请求,你必须向一个能够存储的本地 http 服务器小程序(简单的 cgi 或 apache/php 可以轻松做到这一点)
alternative approach could be if you fire a javascript controlled http request for each cvs line you have to a local http server applet that is capable of storing (simple cgi or apache/php could do it easy)
不幸的是没有。 http://wiki.greasespot.net/FAQ#Can_Greasemonkey_be_used_to_open_local_files.3F
Unfortunately not. http://wiki.greasespot.net/FAQ#Can_Greasemonkey_be_used_to_open_local_files.3F
免费的 Javascript 实用程序 JSZip 使用 blob 方法生成一个弹出的 Zip 文件供您下载。用户脚本 Fitocracy Bulk CSV 使用 JSZip 收集其生成的 100 个锻炼数据文件。
The free Javascript utility JSZip uses the blob approach to generate a Zip file that pops up for you to download. The user script Fitocracy Bulk CSV used JSZip to collect the 100 files of workout data it generated.