我一直在尝试使用wkhtmltopdf工具(http://wkhtmltopdf.org/)生成PDF。从中我想生成使用jQuery
和PDF页面有使用jQuery.ready()
功能,像这样一些初始化:wkhtmltopdf和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
听起来像页面中的JavaScript不适用于Qt的旧版webkit。你可以添加代码或链接到页面? – jgillich
不幸的是,我无法提供网页的代码。有没有办法看到有意义的堆栈跟踪?因为这个错误是完全没用的。 – Ivo
'--debug-javascript'也许?你也可以尝试一个基于QtWebKit的浏览器,如Arora(https://code.google.com/p/arora/),它有WebKit的检查员。 – jgillich