js脚本在不同浏览器兼容问题

js代码如下:

 function exportTable(){
        var prjId=<s:property value='adcProject.projectId'/>;
        console.log("PID为:"+PID);
        console.log("projectid为:"+prjId);

        $.post("${basePath}/xmgl/project_exportTableBysrcInfoAndActivity.action",{pid:PID,projectId:prjId,activityCell:exportActivity,plantid:PLANTID},function(data){
            if(data!=null && data.substring(0,1)!='f'){
                 window.open(data);
            }else{
                alert(data.substring(1));
            }

        });

    }
同一账号登录调用这个function,不管用哪个浏览器,都可能出现不同的结果,有时正常,有时变成传参错误,对于兼容性一窍不通的小白真的是搞得晕头转向了,求大神解决~

你这个没看出有什么兼容性问题,PID从哪里搞来的没看到。。prjId你后面的值是数字没有,不是有可能报错

还有就是window.open会被浏览器当做广告拦截掉,离开用户交互环境都会被当做广告,除非当前窗口跳转
window.open(data,'_self');

首先 console.log 不是所有浏览器兼容的;
其次注意你输出的JSON格式,要完全符合标准;

{pid:PID,projectId:prjId,activityCell:exportActivity,plantid:PLANTID}

参数名用引号隔开,向这样 “pid”:PID