我目前有一个打印一些HTML表格和div的Perl脚本,打印一个开放的<script type="text/javascript">
标签,然后分叉几个进程来收集一些数据来填充表格。这些分叉进程异步打印JavaScript document.getElementById
语句以填充表和div。我的Perl脚本等待所有子进程,并且一旦它们返回所有返回的打印结束</script>
标记。
虽然也许并不过分,但这就是我用异步返回的结果填充有序表的方法。我非常希望在返回结果时看到表的内容加载,但Firefox在收到</script>
标记之前似乎没有呈现JavaScript。有没有办法在发送到浏览器时强制渲染每个document.getElementById
语句?我可以用每个语句打印开始和结束脚本标签,但这似乎过多了。我不确定如何处理显示一堆异步语句,但我对所有建议持开放态度。
谢谢!
答案 0 :(得分:2)
你必须使用单独的脚本块。在完成之前,任何浏览器都不会开始运行<script>
块。由于语言的语义,它不能。
答案 1 :(得分:0)
您的描述有点混乱。 document.getElementById()
不是语句,它不是语言构造,而是document
主机对象的方法
document.getElementById
不会导致浏览器重新呈现页面。它只是选择document
中具有给定ID的元素。
如果不知道不断更新输出的原因,很难说什么,但你可能别无选择,只能使用单独的<script>
块来连续执行它们。