html页面中的javascript在android中运行不正常
 需要从url中提取参数,使用了下面的函数:

function QueryString()
{//构造参数对象并初始化
    var name,value,i;
    var str=location.href;//获得浏览器地址栏URL串
    var num=str.indexOf("?")
    str=str.substr(num+1);//截取“?”后面的参数串
    var arrtmp=str.split("&");//将各参数分离形成参数数组
    for(i=0;i < arrtmp.length;i++)
    {
        num=arrtmp[i].indexOf("=");
        if(num>0)
        {
            name=arrtmp[i].substring(0,num);//取得参数名称
            value=arrtmp[i].substr(num+1);//取得参数值
            this[name]=value;//定义对象属性并初始化
        }
    }
}
var Request=new QueryString();//使用new运算符创建参数对象实例

document.writeln("SSID: "+Request["ssid"]+"<br>");



上述函数在电脑上没问题,但是手机浏览时不运行,请问应该怎样处理?谢谢!

6个回答

代码中需要加 支持js...
google一下

可能浏览器内核的问题,建议装别的浏览器试一下

放try...catch语句里面看报什么错误,看代码没有什么大问题,不太确定document.writeln移动端浏览器是否支持,改 document.write试试

     function QueryString() {//构造参数对象并初始化
        try {
            var name, value, i;
            var str = location.href;//获得浏览器地址栏URL串
            var num = str.indexOf("?")
            str = str.substr(num + 1);//截取“?”后面的参数串
            var arrtmp = str.split("&");//将各参数分离形成参数数组
            for (i = 0; i < arrtmp.length; i++) {
                num = arrtmp[i].indexOf("=");
                if (num > 0) {
                    name = arrtmp[i].substring(0, num);//取得参数名称
                    value = arrtmp[i].substr(num + 1);//取得参数值
                    this[name] = value;//定义对象属性并初始化
                }
            }
        } catch (e) { alert('Error'+e)}
    }
    var Request = new QueryString();//使用new运算符创建参数对象实例

    document.write("SSID: " + Request["ssid"] + "<br>");
</script>

判断一下,if(!location || !location.href )alert("无法获取location.href");

手机浏览器连alert都不执行,不知道为什么。
用华为自带的浏览器、UC和QQ的浏览器都是一个效果。

先看下js 在浏览中看有问题没,在看页面是否支持该设备

立即提问
相关内容推荐