【问题标题】:Using Javascript to update table/div contents during page load在页面加载期间使用 Javascript 更新表/div 内容
【发布时间】:2011-06-16 17:06:28
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: javascript perl asynchronous execution continuous


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 感谢您对我的描述和您的解决方案的澄清。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      • 2011-12-09
      • 1970-01-01
      相关资源
      最近更新 更多