我们使用Highcharts 4.0.4和PHP作为服务器端脚本。页面上有多个图表,每个图表都有其打印/保存选项的上下文菜单。
上下文菜单工作正常,但当控件从打印屏幕返回到页面时,相应的图表大小已损坏或完全消失。
奇怪的是,这种不良行为只能在Chrome上观察到,但不能在IE上观察到。
fiddle证明了这种行为。
Code along with fiddle
非常感谢任何有关如何解决此问题的帮助或指导。
答案 0 :(得分:1)
highcharts中的Defaulty所有元素都隐藏在当前图表之外。您可以包装导出函数并关闭此部分代码。
(function (H) {
H.wrap(H.Chart.prototype, 'print', function (proceed) {
var chart = this,
container = chart.container,
origDisplay = [],
win = window,
origParent = container.parentNode,
body = document.body,
childNodes = body.childNodes;
if (chart.isPrinting) { // block the button while in printing mode
return;
}
chart.isPrinting = true;
// print
win.focus(); // #1510
win.print();
// allow the browser to prepare before reverting
setTimeout(function () {
// put the chart back in
origParent.appendChild(container);
chart.isPrinting = false;
}, 1000);
});
})(Highcharts);