关于jQuery.getScript在火狐浏览器下加载同一代码两次的问题。

来源:互联网 发布:用ie8打不开淘宝网 编辑:程序博客网 时间:2024/06/08 00:38

 

 

最近做了个联动.net用户控件,控件的功能需要jquery支持,用jquery做了一个调用远程脚本,并赋值给当前变量,而该过程可能在一个页面中执行多次,于是将在后面的调用中直接进行变量null测试,如果=null则进行jquery.getscript进行请求,代码大意如下

var pr=null

 

 

if(pr==null)

{

jQuery.getScript("/test.js",function()

{

pr=a;

alert(pr);

})

}

else

{alert(pr)}

 

 

test.js文件里面的内容为var a="aaa";

但在火狐下存在问题,不过在有的页面有效,在本人要用的代码涉及很多js代码,具体分析太费劲

最后将getScript的调用改成ajax方式同步调用,问题得以解决,实际代码如下,如果一个页面有多个控件,则会多次调用initP函数

 

var provincelist = null;

function initP(prov) {

    if (provincelist == null) {

        jQuery.ajax({

            async: false,

            cache: true,

            type: "GET",

            url: "/getarea/province.js",

            dataType: "script",

            success: function() {

            provincelist = province;

            list_province(provincelist, prov);

            }

        }); 

    }

    else {

        list_province(provincelist, prov);

    }

}

 

原创粉丝点击