在页面之后启动javascript [window:print()]并加载其他javascript

时间:2014-03-11 18:03:44

标签: javascript jquery html printing google-analytics

我有一个页面正在加载大约10个谷歌分析图表。我想在这个页面完全加载后启动一个打印对话框 - 所有图表/ javascript加载。不幸的是,目前在加载DOM后打开了打印对话框;但是,在此期间,javascript仍然在加载所有谷歌图表大约2-3秒,所以当出现打印对话框时,应该显示图表的区域是空白的。

目前我的代码是:

<script type="text/javascript"> 
  window.onload = function() { 
    window.print(); 
  }
</script>

有没有办法达到我想要的结果,只有在整个页面(包括所有其他javascript)加载后才会出现打印对话框?

我真诚地感谢您的任何建议,并感谢您的时间!

1 个答案:

答案 0 :(得分:1)

如果获取图表的函数具有回调函数(我希望如此,这是非中间函数的基础),如果加载的图表数量是常量,则可以添加变量var chartsLoaded = 0,当a加载图表将其添加到回调函数中:

chartsLoaded++;
if (chartsLoaded == myConstantNumberOfCharts) 
    window.print();

使用您提供的信息似乎非常简单,如果问题更复杂,请不要犹豫提供更多详细信息。