如何在按钮点击异步上附加javascript

时间:2014-02-14 07:51:41

标签: javascript .net

为了动态附加脚本,我们需要创建脚本元素并添加脚本元素的src属性,最后将脚本元素附加到head标记(或任何其他标记)中。但行为是同步的,页面被阻止,直到javascript完全加载。我想知道有没有可能的工作,我可以异步嵌入javascript而不使用xhr。

var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'urlofthescript';
$("#someElement").append( script );
//the above line blocks the UI until it gets loaded. Why?

1 个答案:

答案 0 :(得分:0)

<script src="...">标记始终是同步的,除非您使用async attribute。但是如果你插入<script>code goes here</script>,执行就会毫不拖延地开始(只要你放弃JS线程)。因此,在字符串中构造代码或通过AJAX加载代码,然后将document.createTextNode(code)document.createElement('script')appendChild代码加载到脚本中,然后编写脚本到文档中。另一种可能性是使用最近出现的一些优秀的模块系统,比如RequireJS,它可以为你找到所有这些。