Javascript 在下载之前捕获Highcharts客户端导出响应

Javascript 在下载之前捕获Highcharts客户端导出响应,javascript,highcharts,Javascript,Highcharts,我已将应用程序配置为使用Highcharts客户端导出(),在页面加载时,我创建一个图表并调用exportChart方法,如本例所示() 我的问题是,我不想立即下载图像,而是想在打印版本中使用它,以后可以调用它。我需要知道的是,是否有一种拦截下载的方法,例如,当创建Blob时(如果是这样的话) 我怀疑没有,因为我没有从Highcharts找到任何关于此的文档,非常感谢您的帮助。当您触发exportChart时,正在向Highcharts服务器发送POST请求,其中包含SVG和请求正文中的一些其他

我已将应用程序配置为使用Highcharts客户端导出(),在页面加载时,我创建一个图表并调用
exportChart
方法,如本例所示()

我的问题是,我不想立即下载图像,而是想在打印版本中使用它,以后可以调用它。我需要知道的是,是否有一种拦截下载的方法,例如,当创建Blob时(如果是这样的话)


我怀疑没有,因为我没有从Highcharts找到任何关于此的文档,非常感谢您的帮助。

当您触发
exportChart
时,正在向Highcharts服务器发送POST请求,其中包含SVG和请求正文中的一些其他值。我检查了被称为()的URL,它是一个图表导出的游乐场。在那里,如果单击下载,您可以很容易地看到第一个POST请求正在被激发,其中包含一些数据(JSON)作为请求负载(检查网络中的调用选项卡)。作为响应,您将获得生成的图像字符串(例如,
charts/chart.20bb843a8be6440e99ffcab5996c532d.png
),因此可以通过基本url访问导出的图像(
https://export.highcharts.com/
)+POST呼叫的响应

示例:
https://export.highcharts.com/charts/chart.20bb843a8be6440e99ffcab5996c532d.png


我不能100%确定此解决方案是否合法,但您至少可以尝试一下,或许可以找到更好/更合适的解决方案。

我相信您可以逐个事件阻止默认事件。preventDefault()用于该单击事件。然后写下自己创建打印视图的方法。要创建div或dom元素的打印视图,您可以参考请更精确地描述您必须执行的流程步骤,因为我一点也不理解这个问题。