知向前端
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>

    是的,就是这么简单,很多事情都是这样,想复杂了,就真的复杂了。
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容