wkhtmltopdf and the jQuery.ready() function
wkhtmltopdf and the jQuery.ready() function
我一直在尝试使用wkhtmltopdf工具(http://wkhtmltopdf.org/)生成PDF。我想使用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
问题原来是Qt不支持localStorage,所以其中一个初始化脚本失败,导致jQuery.ready()未被执行。
我已经设法调试它与Qt支持的浏览器:QtWeb。(我也试过Arora,但无法在我的系统上运行)。
相关文章:
- $(document).ready和jQuery(function($)不工作;jQuery已定义,但脚本尚未定义;t进
- ASPX Jquery 1.11 $(Document).ready(function() {} was skipped
- 延迟加载jquery后替换$(document).ready(function)
- 为什么不'加载$(document.ready(function)后,单击“工作”
- 多个 $(document).ready(function() 但只有前几个被解雇
- 如何在 $(document).ready(function(){}) 中使用 for 循环
- 为什么一个 $(document).ready(function() { 会阻止另一个运行
- jQuery "$(document).ready(function () {" equivalen
- 如何在document.ready(function)时运行隐藏函数和动画
- $(document).ready(function(){code});没有接到电话
- jQuery页面结构使用$(document).ready(function(){}的最佳实践
- $(document).ready(function() 干扰日期选择器显示
- $(document).ready(function() { Rails Turbo-links
- $(document).ready(function()) 是否仅在加载 JSP 后执行
- JavaScript: $(document).ready(function () { doesn't acti
- 我必须在外部脚本中包含 $(document) .ready (function() 多少次
- jQuery $( function() {} ) and $(document).ready the same?
- $(document).ready(function() {});抛出错误
- $(document).ready(function () 在弹出窗口打开后不起作用
- Visibility JQuery Function (ready(), change()...)