2 qq 28960567 qq_28960567 于 2016.09.12 16:04 提问

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

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,不管用哪个浏览器,都可能出现不同的结果,有时正常,有时变成传参错误,对于兼容性一窍不通的小白真的是搞得晕头转向了,求大神解决~

3个回答

showbo
showbo   Ds   Rxr 2016.09.12 16:25

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

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

testcs_dn
testcs_dn   Rxr 2016.09.13 07:28

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

bashenmail
bashenmail   2016.09.13 09:31

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

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!