我在 ext-js 中有一个带有“下载”按钮的网格,以便用户可以下载该网格的文件表示,我将在按下按钮时即时创建该网格。
但我不知道通过 EXT-JS 中的什么机制可以触发此下载。不确定 EXT-JS 是否有一些辅助函数,或者你是否只使用直接的 javascript(在这种情况下,你如何深入到内部来在 EXT-JS 中做到这一点?)
从按钮处理程序函数触发此下载的最佳方法是什么?
window.location = url_of_file
虽然我记得 ExtJS 中有一些奇怪行为的问题,但我们通常在新窗口/标签中打开 url:
window.open(url_of_file);
在 ExtJS 中,Button 类有一个 href 属性,可以设置为触发您尝试获取的资源的 HTTP GET。
编辑:在澄清您在这里尝试做的事情之后,您需要的是:URL 上的数据:http ://en.wikipedia.org/wiki/Data_URI_scheme
这个技巧让你的浏览器认为它需要下载一个文件。您必须在客户端生成数据。有一些插件以这种方式工作:http ://www.sencha.com/forum/showthread.php?146348-ExtJS-4-Grid-Printer-Plugin
另一个插件使用不同的方法:https ://github.com/iwiznia/Ext.ux.Exporter