wkhtmltopdf和jQuery.ready()函数

时间:2014-05-21 05:31:50

标签: javascript jquery wkhtmltopdf

我一直在尝试使用wkhtmltopdf工具生成PDF(http://wkhtmltopdf.org/)。我想使用jQuery生成PDF并使用jQuery.ready()函数进行初始化的页面,如下所示:

jQuery(function() {
    // do something
});

但是,当我尝试从页面生成PDF时,脚本不会被执行。我尝试使用以下选项设置延迟等待JavaScript执行:

--javascript-delay 30000

但结果是一样的。

当我启用了wkhtmltopdf的JavaScript调试选项后,我收到了警告,我不确定它是否与问题相关:

Warning: undefined:0 TypeError: 'null' is not an object

有没有人遇到过这个问题?有某种解决方法吗?

编辑 :似乎问题是由错误引起的Warning: undefined:0 TypeError: 'null' is not an object.我设法使用以下方式在PDF上打印错误:

window.onerror = function(error, url, line) {
    $('body').before('<b> Error: ' + error + '</b> <br />');
    $('body').before('<b> Url: ' + url + '</b> <br />');
    $('body').before('<b> Line: ' + line + '</b> <br />');
    console.log(error, ' ', url, ' ', line);
};

但信息非常有限,我不知道是什么原因造成的:

Error: TypeError: 'null' is not an object
Url: undefined
Line: 0 

1 个答案:

答案 0 :(得分:7)

问题是Qt不支持localStorage,因此其中一个初始化脚本失败导致jQuery.ready()没有被执行。

我已经设法使用支持Qt的浏览器调试它:QtWeb。 (也试过Arora,不能在我的系统上运行它。)