繁体   English   中英

允许用户从Greasemonkey脚本导入文件?

[英]Allow user to import a file from a Greasemonkey script?

据我所知,这似乎是不可能的,但可以这样:

我正在整理一个Greasemonkey脚本。 在此脚本中,最终用户能够将某些内容保存到html5 localStorage变量中(不是脚本的用途,仅用于脚本的一部分)。

由于缓存清除可以清除这些存储值,因此我创建了导出功能,该功能只是一种未知的数据类型,会强制下载文件。

data:something;charset=utf-8,'+encodeURIComponent(somevariable)

我的问题是关于创建导入功能。 由于文件保存时没有扩展名,并且此脚本将仅在Linux中使用,因此直接在文本程序中打开文件并将数据粘贴到文本区域将是一种简单的导入方法。

但是,有没有没有某种服务器端脚本或外部服务器的方法让用户选择要导入的文件? 例如一个对话框,允许最终用户从计算机中选择文件,然后我可以在其中操作文件?

HTML5引入了HTML5 File API

使用HTML5中添加到DOM中的File API,现在可以使Web内容要求用户选择本地文件,然后读取这些文件的内容。 可以通过使用HTML元素或通过拖放来完成此选择。

您可以挂钩change事件并检查evt.target.files;

另外,您可以使用Blob处理数据,而不必依赖数据uri。

这是一个很好的教程

HTML 5 File API可以解救!

http://www.html5rocks.com/zh-CN/tutorials/file/dndfiles/

IE9不支持,但大多数现代浏览器都支持它: http : //caniuse.com/#search=file%20api

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM