Php 让wkhtmltoimage等待Google图表API完全呈现图表 我想做什么
使用Php 让wkhtmltoimage等待Google图表API完全呈现图表 我想做什么,php,javascript,Php,Javascript,使用exec打开.php页面 exec('./wkhtmltoimage-i386 abcdef.com/combined.php chart.jpg', $op, $er); 这样我就得到了一张被渲染的图表的图像 --enable-javascript --javascript-delay 到底发生了什么 运行包含上述命令的页面时根本不会创建chart.jpg 调试 (1) 我在浏览器中直接执行了combined.php,图表按预期显示。因此,combined.phpcode中没有任何错误
exec
打开.php
页面
exec('./wkhtmltoimage-i386 abcdef.com/combined.php chart.jpg', $op, $er);
这样我就得到了一张被渲染的图表的图像
--enable-javascript
--javascript-delay
到底发生了什么
运行包含上述命令的页面时根本不会创建chart.jpg
调试
(1) 我在浏览器中直接执行了combined.php
,图表按预期显示。因此,combined.php
code中没有任何错误
(2) 我也试着把它放在
<h1>Hello there!</h1>
您可以使用以下设置来允许呈现JavaScript内容
--enable-javascript
--javascript-delay
我假设这个文档是最新的
一次尝试可能会失败
exec('./wkhtmltoimage-i386 --enable-javascript --javascript-delay 1000 abcdef.com/combined.php chart.jpg', $op, $er);
取决于渲染一切偏离轨道所需的时间。请记住,可能存在不同的安全限制
您肯定需要调查一些其他选项
--run-script // run a specific script after loading
--debug-javascript // return javascript debug output
--no-stop-slow-scripts
--enable-local-file-access
嗯..那么命令应该看起来像
exec('./wkhtmltoimage-i386--enable javascript--javascript delay 1000 abcdef.com/combined.php chart.jpg',$op,$er)代码>?加载图表的时间不超过2-3秒。使用“尝试”代码不会产生任何结果。请定义到底出了什么问题,您得到了任何输出吗?是否生成图像?请在你的答案中添加更多信息。好吧,我在我的问题中解释了我能解释的一切。基本上,当我将combined.php
与谷歌图表一起使用时,图像不会被创建。如果通过在地址栏中键入来直接运行combined.php
,我会在浏览器上看到图表,因此这会确认正在呈现图表。为了调试wkhtmltoimage
是否工作,我将combined.php
中的所有代码替换为How are
,这次创建了一个图像。尝试从命令行使用--debug javascript
参数调用wkhtmltoimage,是否看到任何输出?您正在加载任何动态内容吗?(设置脚本标记或ajax加载?)