2

我正在使用 labjs 加载我的脚本。我有一个来自 feedburner 的脚本,它从我的 rss 提要中以 HTML 格式显示我博客中的最​​新帖子。feedburner 的代码运行良好,以 html 格式显示所有帖子:

<script src="http://feeds.feedburner.com/Goonerhood?format=sigpro" type="text/javascript" ></script>

我正在尝试使用 labjs 加载相同的脚本,但它没有显示任何内容。这是我的代码:

<script>
   $LAB
   .script("http://feeds.feedburner.com/Goonerhood?format=sigpro");
</script>

有什么建议我哪里出错了吗?

4

1 回答 1

3

问题是该脚本都是关于document.write的,当您使用任何类型的动态异步技术加载脚本时,它不能使用(嗯,不应该使用)。

document.write当使用标签导入脚本时可以使用该函数<script>,原因有两个:

  1. 浏览器在脚本可用时立即执行(即,当服务器将脚本返回给客户端时),阻止所有其他活动,直到脚本完成;
  2. DOM 在 (1) 发生时尚未完成,因此调用document.write会将内容附加到进行中的 DOM。

当您异步加载脚本时,脚本将在 DOM 完成后才会执行。那时,对document.write隐式调用的调用document.open,在已经构建的页面上将把所有东西都吹走。

于 2011-03-06T17:31:52.407 回答