我正在使用Highcharts将数据绘制为不同的图形。
如您所知,如果我在HTML文档中添加exports.js文件,
然后它会在Highcharts'画布
中的右上区域显示一个小按钮使用智能手机时会出现当前问题。
当我尝试导出当前图表时,当前浏览器窗口将关闭。
我可以下载该文件,但之前的窗口已经消失。
如何修改Highcharts?
当我点击其中一个导出选项时,我想打开新窗口。
提前致谢。
答案 0 :(得分:1)
我在iOS设备上发现了这个问题。然而,有一个非常简单的解决方法。默认情况下,highcharts会创建隐藏的<form>
元素,并将数据提交给导出服务器。我们在这里可以做的是指定表单的目标属性。
所以,这是一个替代默认Highcharts导出模块的插入式修复程序(只是在export.js之后放置)
Highcharts.post = function (url, data) {
var createElement = Highcharts.createElement,
discardElement = Highcharts.discardElement,
name,
form;
// create the form
form = createElement('form', {
method: 'post',
action: url,
enctype: 'multipart/form-data',
target: '_blank'
}, {
display: 'none'
}, document.body);
// add the data
for (name in data) {
createElement('input', {
type: 'hidden',
name: name,
value: data[name]
}, null, form);
}
// submit
form.submit();
// clean up
discardElement(form);
};
在这里,您可以找到一个有效的演示:http://jsfiddle.net/dWfv5/
答案 1 :(得分:1)
自Highcharts 3.0.8(2014-01-09)以来,您可以将目标设置为选项,因此您不需要插入式修补程序。
将目标指定为exporting.formAttributes的一部分,如下所示:
exporting: {
formAttributes: {
target: '_blank'
}
}
的现场演示