Javascript window.print()提供了不同的输出

Javascript window.print()提供了不同的输出,javascript,highcharts,Javascript,Highcharts,我一直在试图解决打印我正在开发的web应用程序的某些区域的问题。问题在于highcharts js将其条形图呈现为 在加载时调用window.print()时,print调用的作用与背景图像问题一样,背景图像/颜色总是消失。但是,当我从“浏览器”菜单打印页面时,它会按原样显示。知道它为什么不打印吗?可能是时间问题。试试像这样的东西 window.onload = function() { window.focus(); window.print(); } 可能是时间问题。试试像

我一直在试图解决打印我正在开发的web应用程序的某些区域的问题。问题在于highcharts js将其条形图呈现为


在加载时调用window.print()时,print调用的作用与背景图像问题一样,背景图像/颜色总是消失。但是,当我从“浏览器”菜单打印页面时,它会按原样显示。知道它为什么不打印吗?

可能是时间问题。试试像这样的东西

window.onload = function() {
    window.focus();
    window.print();
}

可能是时间问题。试试像这样的东西

window.onload = function() {
    window.focus();
    window.print();
}

您不能从所有浏览器打印SVG,在您可以打印的浏览器中,SVG需要在打印之前进行渲染

我读了另一本书

从版本2.0导出模块 可用于Highcharts,其中 允许用户下载图像或 你的图表的PDF格式。本模块 包含一个额外的JavaScript文件, 导出.js和web服务或 用PHP编写的服务器模块。 Highslide软件提供 免费导出web服务。 如果将导出模块包括在 您的图表将显示两个按钮 在右上角。一键打印 在客户端上完成的图表 仅限侧面。另一个按钮手柄 出口。默认情况下,SVG 图表的表示形式由 寄往, 使用Apache的 蜡染转换为PDF、PNG或JPEG


您不能从所有浏览器打印SVG,在您可以打印的浏览器中,SVG需要在打印之前进行渲染

我读了另一本书

从版本2.0导出模块 可用于Highcharts,其中 允许用户下载图像或 你的图表的PDF格式。本模块 包含一个额外的JavaScript文件, 导出.js和web服务或 用PHP编写的服务器模块。 Highslide软件提供 免费导出web服务。 如果将导出模块包括在 您的图表将显示两个按钮 在右上角。一键打印 在客户端上完成的图表 仅限侧面。另一个按钮手柄 出口。默认情况下,SVG 图表的表示形式由 寄往, 使用Apache的 蜡染转换为PDF、PNG或JPEG



你有打印样式表吗?Joza,在内联代码周围使用backtick
`
,大多数浏览器在打印对话框/浏览器设置中提供“打印背景图像”选项,用于确定是否打印背景。在您的情况下,这有关系吗?@Salman因为这是一个web应用程序,我不能根据客户/客户的不同使用它。启用“打印背景图像”是否可以解决问题?如果是这样,您可以使用CSS定位将图像放在前景中,但仍将其显示在栏后。。。这就像在photoshop中有两层一样。标签内的图像应按预期打印。是否有打印样式表?Joza,在内联代码周围使用backtick
`
。大多数浏览器在打印对话框/浏览器设置中提供“打印背景图像”选项,用于确定是否打印背景。在您的情况下,这有关系吗?@Salman因为这是一个web应用程序,我不能根据客户/客户的不同使用它。启用“打印背景图像”是否可以解决问题?如果是这样,您可以使用CSS定位将图像放在前景中,但仍将其显示在栏后。。。这就像在photoshop中有两层一样。标签内的图像应按预期打印。嗯,不,这不起作用,而且我已经通过Hmm调用了它。。。我添加了一个focus调用,试图模拟您在浏览器中单击“打印”时发生的情况。感谢您为我指出了正确的方向。问题似乎出在时间上,window.focus()不起作用。使用settimeout(设置超时工作):-)如果这不是正确的答案,你能发布正确的答案并标记它或编辑它吗?谢谢。嗯,不,那没用,而且我已经通过嗯…给它打电话了。。。我添加了一个focus调用,试图模拟您在浏览器中单击“打印”时发生的情况。感谢您为我指出了正确的方向。问题似乎出在时间上,window.focus()不起作用。使用settimeout(设置超时工作):-)如果这不是正确的答案,你能发布正确的答案并标记它或编辑它吗?谢谢。我已经考虑过这个选项,但我不想让数据进入第三方服务器。另外,我发现的另一种方法是让托管在我服务器上的代码将导出代码发送到url,保存图像,然后使用它打印图表-我将此推迟作为最后一种手段我已经考虑过此选项,但我不希望数据进入第三方服务器。另外,我发现的另一种方法是让托管在我服务器上的代码将导出代码发送到url,保存图像,然后使用它打印图表-我将把这作为最后手段推迟