ajax加载html和里面的js文件
2016-3-26 Jon
需求背景:
昨天写代码,遇到一个问题,通过ajax异步加载另一个html文件在当前页面显示,发现加载进来的html文件里面引用的js文件无法执行,就像是来了yuejing的少女羞羞哒哒地跟我说不能上她一样,甚是苦恼。放到html文件里面吧,代码太多切不宜维护。遂摆渡了下,给出的解决方案大致以下几种:
1、采用附加一个iframe的方法去执行js(看到iframe就不想试)
2、document.write输出代码(试下好像也无效)
3、js放到父页面(代码冗余且不一定可行)
4、eval(低效且不安全)
5、正则匹配加载(复杂且兼容性低)
6、js调用html(麻烦)
我只是想加载个js,这么小小的需求,难道就没有简单且高效的方法吗,答案肯定是有的。经过一番思考后,一方法涌现,试之,成功,大喜,遂记之。
实现代码:
闲话少叙,附上方案
<!-- 需要被加载进来的html文件通过ajax的方式引入js文件就可以了 -->
<script>
$.getScript('js路径', function() {
//需要执行的其他js代码
});
</script>
是的,就是这么简单,很多事情都是这样,想复杂了,就真的复杂了。
发表评论: