2011-03-06 186 views
1

我正在使用labjs加载我的脚本。我从feedburner获得了一个脚本,它显示了我的博客中来自rss feed的HTML中最新的帖子。将代码从FeedBurner的是和工作得很好,在显示HTML所有的职位:LABjs加载脚本时出现问题

<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> 

任何建议我哪里出错了?

+0

这是feedburner buzz thingy ... – Hirvesh 2011-03-06 17:31:11

回答

3

问题是,该脚本全部是关于document.write,当您使用任何类型的动态异步技术加载脚本时,该脚本无法使用(当然,不应该使用)。

可以在脚本与<script>标签进口的原因有两个可使用的document.write功能:

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

当您异步加载脚本时,脚本将不会执行,直到DOM完成。此时,拨打document.write的电话会隐含地拨打document.open,在已建好的页面上会将所有内容都吹走。

+0

所以没有这个labjs? – Hirvesh 2011-03-06 17:32:49

+0

Well labjs是一个很好的工具,但在这种情况下使用类似的脚本(顺便说一句,现代代码通常避免使用'document.write'方法来支持DOM操作),但它不起作用。 – Pointy 2011-03-06 17:35:05

+0

感谢您澄清这一点。有我对这个document.write和labjs的怀疑 – Hirvesh 2011-03-06 17:39:26