使 jQuery 单击锚点在 Firefox 上工作
Make jQuery click anchor work on Firefox
我有这个脚本:
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,控制台上没有任何错误。这是什么原因以及如何解决?
在 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 似乎不会执行点击事件
我有这个脚本:
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,控制台上没有任何错误。这是什么原因以及如何解决?
在 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