1

我目前有一个 Perl 脚本,它打印一些 HTML 表格和 div,打印一个开始<script type="text/javascript">标签,然后分叉一些进程来收集一些数据来填充表格。这些分叉的进程异步打印 JavaScriptdocument.getElementById语句来填充表格和 div。我的 Perl 脚本等待所有子进程,一旦它们全部返回,就会打印结束</script>标记。

虽然可能并不过分优雅,但这就是我用异步返回的结果填充有序表的方式。</script>我真的很想在返回结果时看到表加载的内容,但是 Firefox 在收到标签之前似乎不会呈现 JavaScript 。有没有一种方法可以强制呈现每个document.getElementById语句,因为它被发送到浏览器?我可以打印每个语句的开始和结束脚本标签,但这似乎过分了。我不确定如何处理显示一堆异步语句,但我愿意接受所有建议。

谢谢!

4

2 回答 2

2

您必须使用单独的脚本块来完成。在完成之前,没有浏览器会开始运行一个<script>块;由于语言的语义,它不能。

于 2011-06-16T17:13:43.597 回答
0

你的描述有点混乱。document.getElementById()不是语句,也不是语言构造,而是宿主对象方法document

document.getElementById不会导致浏览器重新呈现页面。它只是简单地选择具有给定 id 的元素document

如果不知道这种不断更新的输出的原因,很难说任何话,但是您可能别无选择,只能使用单独<script>的块来连续执行它们。

于 2011-06-16T17:14:44.333 回答