我想编写一个Javascript函数,通过向其中添加变量来下载json文件。像这样https://jsfiddle.net/cowboy/hHZa9/
var obj = {a: 123, b: "4 5 6"};
var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));
$('<a href="data:' + data + '" download="data.json">download JSON</a>').appendTo('#container');
但现在我想用按钮替换锚标签。 我正在使用ExtJS 6。
答案 0 :(得分:2)
您可以像这样使用Extjs按钮:
var obj = {
a: 123,
b: "4 5 6"
},
data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));
Ext.widget('button', {
renderTo: Ext.getBody(),
text: 'Download',
href: 'data:' + data,
autoEl: {
tag: 'a',
download: 'data.json'
}
});
答案 1 :(得分:0)
你可以做两件事......
为a
标记添加样式,使其看起来像button
。
将button
放在a
标记
$('<a href="data:' + data + '" download="data.json"><button>download JSON</button></a>').appendTo('#container');
由于button
没有download
属性,因此您需要使用a
标记。