我有一个网页,它使用jqplot for charts和Google Datatable以表格格式显示数据。我还在网页上有一个“导出”超链接,用于生成要下载的网页的PDF副本。我的导出代码如下所示:
function exportPDF() {
var img = $('#clicks_chart_div').jqplotToImage(0, 0);
if (img) {
var imgTag = $('<img id="ccanvasimage">');
imgTag.attr('src', img.toDataURL("image/png"));
imgTag.attr('width', 450);
imgTag.attr('height', 320);
$('#clicks_chart_div').replaceWith(imgTag);
} else {
alert('could not get image');
}
$('#src').val(document.documentElement.innerHTML);
$('#frmSource').submit();
}
此代码在浏览器中运行良好并下载相应的PDF。但是,当我通过HTMLUnit调用同一页面时,调用“var img = $('#clicks_chart_div')。jqplotToImage(0,0);”无法生成图像并转到其他部分“警告('无法获取图像');”因此,生成的PDF只包含Datatable而不包含任何图表。
为什么调用jqplotToImage会失败? FWIW,jqplotToImage的代码通过外部脚本包含如下:
<script language="javascript" type="text/javascript" src="javascripts/export-jqplot-to-png.js"></script>
感谢。