【发布时间】:2020-05-12 20:32:24
【问题描述】:
我一直在尝试将全屏事件添加到高图表,但没有成功。我尝试过扩展 highcharts:
Highcharts.Chart.prototype.callbacks.push(function (chart) {
Highcharts.addEvent(chart.container, 'webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange', function (e) {
console.log('in fullscreen nonsense');
this.reflow();
});
});
并且在图表菜单中添加了全屏选项:
var fullscreen = {
text: 'Toggle full screen. ESC to exit',
onclick: function () {
function launchIntoFullscreen(element) {
var parentEl = element.renderTo;
if(parentEl.requestFullscreen) {
parentEl.requestFullscreen();
} else if(parentEl.mozRequestFullScreen) {
parentEl.mozRequestFullScreen();
} else if(parentEl.webkitRequestFullscreen) {
parentEl.webkitRequestFullscreen();
} else if(parentEl.msRequestFullscreen) {
parentEl.msRequestFullscreen();
}
}
launchIntoFullscreen(this);
}
};
Highcharts.getOptions()
.exporting.buttons.contextButton.menuItems.push(fullscreen);
图表正确地全屏显示,但当它出现时,我希望它重排并填充可用区域。但是,它没有达到图表附加的全屏事件。我尝试将它附加到图表和图表容器上。我只尝试了特定于浏览器的全屏事件的一种变体。当我改用“点击”时,会触发事件回调。
我也尝试在 launchIntoFullScreen 函数中进行重排,但这也不起作用(即使我将图表设为全局变量)。
全屏可能不提供带有新尺寸信息的回流,但我不确定。我正在使用 Chrome。
【问题讨论】:
-
您能否将您的示例复制为 jsfiddle.net 上的现场演示?这将使我们能够重现问题并找到答案
标签: javascript highcharts