在我的页面中,我有一个下载按钮,可将屏幕内容下载到CSV文件中。Javascript创建,激发锚定标记并将其移除替代
CSV文件由Javascript中的另一个函数根据我的网格数据生成。
我用来生成数据的代码基于that post。
一切都很好,除了我不想在我的屏幕上有标签,而是一个样式化的按钮。我也不能在那个地方有表格。只是一个普通的按钮。
因此,我必须创建动态,然后将其删除。
这里是我的代码:
<button type='button' onclick='buttonClicked(); return false;' class='btn btn-primary btn-xs'>Export</button>
现在我的功能:
var buttonClicked = function() {
var content = getMyCsvData(); /// custom function to get CSV data
if (window.navigator.msSaveOrOpenBlob) {
alert('blob');
var fileData = [content];
blobObject = new Blob(fileData);
window.navigator.msSaveOrOpenBlob(blobObject, "download_data");
} else {
var tempRef = $("<a download='' href='#'>download</a>");
var url = "data:text/plain;charset=utf-8," + encodeURIComponent(content);
$(tempRef).attr("href", url);
this.element.append(tempRef);
$(tempRef).click();
this.element.remove(tempRef);
}
此代码听起来很奇怪,我和it's不是Chrome的工作(使用下载数据在href方法)。
所以,quetions:
是否有附加的事件的按钮,而无需创建一个更好的办法?
如果不是,我该如何创建我的锚点,激发我的临时锚点,然后删除它而不影响我的当前屏幕?
感谢您的帮助。