javascript - 使用 JavaScript 在按钮中使用 HTML5 下载选项

标签 javascript extjs hyperlink

我想编写一个 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');

但现在我想用按钮替换 anchor 标记。 我正在使用 ExtJS 6。

最佳答案

您可以像这样使用 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'
    }
});

工作示例:https://fiddle.sencha.com/#fiddle/1chg

关于javascript - 使用 JavaScript 在按钮中使用 HTML5 下载选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37986417/

相关文章:

javascript - 如何使用 lodash 按嵌套属性分组?

javascript - 我无法在打印预览中看到 div 的背景图像

javascript - 在网格上,CheckboxModel 不适用于分组

html - 页面在新选项卡中打开,而不是在左框架中打开

javascript - 如何将目标 ="_blank"添加到指定 div 中的链接?

javascript - 错误 jquery 验证插件取决于。当字段无效时表单有效

javascript - 元素悬停时闪烁,同时尝试在同一事件中缩小其大小

javascript - 使用 Ext.define() 扩展网格面板时如何添加行双击事件监听器?

extjs - 如何从面板中删除项目

html - 我应该如何处理 wiki 页面内容中的自动链接?