【问题标题】:Make jQuery click anchor work on Firefox让 jQuery 点击锚点在 Firefox 上工作
【发布时间】:2015-03-05 00:40:53
【问题描述】:

我有这个脚本:

function downloadIt() {
  var dataUri = "data:application/csv;charset=utf-8,Col1%2CCol2%2CCol3%0AVal1%2CVal2%2CVal3%0AVal11%2CVal22%2CVal33%0AVal111%2CVal222%2CVal333"
  var filename = "somedata.csv"
  $("<a download='" + filename + "' href='" + dataUri + "'></a>")[0].click();
}

它适用于 Chrome,但不适用于 Firefox,控制台上没有任何错误。这是什么原因以及如何解决这个问题?

【问题讨论】:

  • 我从未见过下载属性,更不用说锚标签了。
  • download 属性设置下载内容的默认名称

标签: javascript jquery firefox cross-browser


【解决方案1】:

body 上添加元素即可解决问题,只需将上面问题中的3 行替换为:

// store the element to a variable
var x = $("<a download='" + filename + "' href='" + dataUri + "'></a>");

// append to body
x.appendTo('body');

// click it (download)
x[0].click();

// remove from body
x.remove();

当元素未附加到body时,firefox似乎不会执行click事件

【讨论】:

  • 提供描述,这个答案将是完美的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 2023-03-27
  • 1970-01-01
相关资源
最近更新 更多