我有以下代码让用户下载csv文件中的数据字符串.
exportData = 'data:text/csv;charset=utf-8,';
exportData += 'some csv strings';
encodedUri = encodeURI(exportData);
newWindow = window.open(encodedUri);
它工作得很好,如果客户端运行代码它生成空白页并开始下载csv文件中的数据.
所以我尝试用JSON对象做这个
exportData = 'data:text/json;charset=utf-8,';
exportData += escape(JSON.stringify(jsonObject));
encodedUri = encodeURI(exportData);
newWindow = window.open(encodedUri);
但我只看到一个页面上显示了JSON数据,而不是下载它.
我进行了一些研究,这个人声称可以工作,但我认为我的代码没有任何区别.
我在代码中遗漏了什么吗?
感谢您阅读我的问题:)
我试图弄清楚我一直有这个奇怪的问题,根本原因是实时点击和触发之间.click()的区别.
我不会详细介绍问题,但基本上当你点击输入按钮时它工作正常(有一个onclick事件).但是,如果我.click()从其他地方打电话(而不是实际点击按钮),它就无法正常工作.
我的问题是 - 有没有办法真正复制按钮上的实际点击?
编辑
问题:我正在打开一个加载内联PDF的新窗口(aspx页面).如果我实际点击链接,窗口打开正常,PDF加载.如果我.click()打开窗口,系统会提示我下载PDF文件.我一直在阅读有关提示的Adobe Reader设置,浏览器设置和注册表设置 - 我知道这些可能是大局的因素,但是现在我关注为什么鼠标点击和.click之间的行为( )正在做任何不同的事情.
我试图弄清楚如何在JavaScript中正确创建和触发事件,所以在学习过程中遇到了这个页面:
https://developer.mozilla.org/en-US/docs/DOM/document.createEvent
最高层告诉我以下内容:
不推荐使用createEvent方法.请改用事件构造函数.
谷歌搜索JS事件构造函数并不是很有成效 - 主题一般是关于构造函数,而不是我正在寻找的东西.有人可以向我解释一下什么是事件构造函数并提供它们的用法的一个很好的例子?