我正在使用wkhtmltopdf通过php将页面转换为pdf。这适用于Windows和ubuntu服务器,但是,在不同的Linux服务器上,它有时(约6次中有5次)不执行javascript(pdf只包含未由javascript生成/修改的数据)。
例如,我正在使用它来渲染一些包含jqplot图形的页面。 具有问题的服务器似乎与外部链接一起使用,但是当使用指向自身的链接时,它大多数时候都无法加载javascript。
我使用了静态二进制文件(v 0.9.9和v0.11.0),它们都以相同的方式失败。使用--javascript-delay(或--redirect-delay)没有任何影响(除了等待pdf更长时间生成)。 在v0.11.0上我也使用了--window-status,它通常会短时间阻塞服务器(可能是因为javascript从未加载过,所以没有设置window.status)。
此外,当未加载javascript时,wkhtml的输出不会显示任何错误/警告。
任何有关可能导致此问题的想法或建议都会有所帮助。
修改
<script type="text/javascript">
$(function(){
$.atk4(function(){ $('#myrealm_charts_jqplot').univ().jqplot(...pramas);
$('#myrealm_charts_jqplot_5').univ().jqplot(...params);
$('#myrealm_charts_jqplot_6').univ().jqplot(...params);
$('#myrealm_charts_jqplot_7').univ().jqplot(...params);
; });
});
</script>
...
<body class="atk-fullscreen gs-10-fluid atk-sticky">
<div class="gs-wrap atk-layout">
<div id="Content">
<div id="myrealm_charts" class="page_charts">
<div style="height: '' ;width:'600px';">
<div id="myrealm_charts_jqplot" class=" pdf-analytics-chart" style="">
</div>
</div>
...
</div>
</div>
</div>
</body>
该页面没有萤火虫报告的任何错误。