我一直在尝试使用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
答案 0 :(得分:7)
问题是Qt不支持localStorage,因此其中一个初始化脚本失败导致jQuery.ready()没有被执行。
我已经设法使用支持Qt的浏览器调试它:QtWeb。 (也试过Arora,不能在我的系统上运行它。)