我正在使用 labjs 加载我的脚本。我有一个来自 feedburner 的脚本,它显示我博客中来自 rss feed 的 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>
有什么建议我哪里出错了吗?
最佳答案
问题在于该脚本的全部内容是 document.write
,当您使用任何类型的动态异步技术加载脚本时,不能使用(好吧,不应该使用)它。
document.write
当使用<script>
导入脚本时可以使用函数标记有两个原因:
- 浏览器在脚本可用时立即执行该脚本(即,当服务器将脚本返回给客户端时),并阻止所有其他事件,直到脚本完成;
- 在发生类似 (1) 的情况时,DOM 尚未完成,因此调用
document.write
将内容附加到正在进行的 DOM。
当异步加载脚本时,只有在 DOM 完成之后才会执行脚本。此时,调用document.write
隐式调用 document.open
,在一个已经构建的页面上,它会摧毁一切。
关于javascript - LABjs 加载脚本时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5212126/