可以说我有这个字符串“something1,something2”,我想下载它为“text.csv”,而无需打开新窗口(弹出)我怎么能做到这一点从一个网页。我可以点它在JS中,而不使用此:提供没有服务器端代码的文件下载网页
window.open('data:text/csv;charset=utf-8,' + str);
或者我必须使用PHP的呢?
可以说我有这个字符串“something1,something2”,我想下载它为“text.csv”,而无需打开新窗口(弹出)我怎么能做到这一点从一个网页。我可以点它在JS中,而不使用此:提供没有服务器端代码的文件下载网页
window.open('data:text/csv;charset=utf-8,' + str);
或者我必须使用PHP的呢?
你想要做的是有点不合常规,但它是可能的。请参阅Downloadify。这是一个JavaScript库,它依靠Flash在客户端创建文件并显示文件下载对话框。
David Walsh有一些很好的演示和信息on his blog。
虽然有限,还存在http://en.wikipedia.org/wiki/Data_Uri
所以这是一个URL将打开图像
数据:图像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4 // 8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg ==
你可以通过javascript打开这个URL来触发下载
一个CSV例如
数据:文本/ CSV,字段1%2Cfield2%0Afoo%2Cbar%0Agoo%2Cgai%0A
只需复制/粘贴或者那些到浏览器中看到他们的工作。浏览器支持有限。
IE 8例如有一个32KiB限制
IE不会从DATA URI下载文件。 – EricLaw
“没有弹出”是什么意思?你为什么要这样做呢? – EricLaw
如果我使用Data Uri,它将向用户打开一个新窗口,并且它没有很好的用户体验来打开新窗口,而不需要它。 – Jack