javascript - 我可以使用 jQuery 动态创建文件(及其内容)吗?

标签 javascript jquery ajax html

<分区>

这是我的 HTML 代码,

<ul>
  <li> Download <a href="#">file1</a> </li>
  <li> Download <a href="#">file2</a> </li>
  <li> Download <a href="#">file3</a> </li>
</ul>

我想创建类似"href=filename.txt" 的内容。文本文件的 "filename" 及其内容需要根据点击的标签动态创建。

我使用网络 API 获取 JSON 格式的数据,因此相信安全性不应该成为问题。

最佳答案

HTML5 开始,您可以使用 data: URL 的组合和 download attribute .例如,

<a href="data:text/plain;charset=UTF-8,Hello%20World!" download="filename.txt">Download</a>

或者,以编程方式,

<a id="programatically" href="#" download="date.txt">Download</a>

$("a#programatically").click(function() {
    var now = new Date().toString();
    this.href = "data:text/plain;charset=UTF-8," + encodeURIComponent(now);
});​

See it here.

不幸的是,download attribute is not fully supporteddata: URLs are in good track .

现在,为了更好的跨浏览器支持,您需要在服务器端动态创建文件。

关于javascript - 我可以使用 jQuery 动态创建文件(及其内容)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14121417/

相关文章:

jquery - IE9 + CORS + jQuery + 亚马逊 S3

javascript - AJAX 将 Span 字符串替换为外部日期字符串

javascript - 响应式方形图像和文本网格

javascript - 动态加载带有选项卡的表单

javascript - knockout 点击事件不起作用

javascript - React - 无法在 .map 中使用 Try Catch block (从 try catch 中返回 jsx)

javascript - AJAX 数据的控制台日志是我的 html 代码?

jquery - .addClass - 对象 Gold 没有方法 'addClass'

javascript - jQuery $.ajax(),将成功数据传递到单独的函数中

javascript - Primefaces <p :tooltip> does not disappear after another Ajax request