最近做了个联动.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);
}
}