JavaScript解耦记

有两个页面A、B。页面A调用页面B。B页面还通过异步加载方式包含一个javascipt(例如叫:ClassHeaderEvaluation.js)文件。问题场景:A页面通过异步请求方式请求B,并在B的ClassHeaderEvaluation.js文件加载完成后,调用ClassHeaderEvaluation.js中的方法,怎样实现?

思路1:

使用循环等待的方式实现,不再累述。

思路2:

在B页面中,添加一个隐藏控件,例如id为:ClassHeaderEvaluationloaddiv,修改页面B中的代码如下:

<script type="text/javascript">

    $.getScript('Scripts/Student/ClassHeaderEvaluation.js', function () {

        var targetObj = $("#ClassHeaderEvaluationloaddiv");

        if (targetObj.length > 0)

        {

            var val = targetObj.val();

            if (val.length > 0) {

                eval(val);

            }

        }

    });

</script>

 

至此,页面A在加载页面B时,就可以在回调函数中对B页面中的控件ClassHeaderEvaluationloaddiv进行赋值,此后调用操作交由B页面自己进行加载并执行。

 

 

你可能感兴趣的:(JavaScript)