html页面中的javascript在android中运行不正常


 // 获取url
        function request(paras) {
            var query = decodeURIComponent(location.href); //获取url中"?"符后的字串 
            // console.log(query);
            var url = query.replaceAll("+", " ")
            var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
            var paraObj = {}
            for (i = 0; j = paraString[i]; i++) {
                paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
            }
            var returnValue = paraObj[paras.toLowerCase()];
            if (typeof (returnValue) == "undefined") {
                return "";
            } else {
                return returnValue;
            }
        }

        //进入页面获取参数
        var acceptTimeStartStr = request('acceptTimeStartStr');
     

上述函数在电脑上没问题,iso手机也没问题,在安卓手机上不执行!

android浏览器版本可能太低不支持replaceAll,改用正则替换就行,有帮助麻烦点个采纳【本回答右上角】,谢谢~~



    // 获取url
    function request(paras) {
        var query = decodeURIComponent(location.href); //获取url中"?"符后的字串 
        // console.log(query);
        alert(''.replaceAll)//Android浏览器输出undefined导致报错
        var url = query.replace(/\+/g, " ")////////////////
        var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
        var paraObj = {}
        for (i = 0; j = paraString[i]; i++) {
            paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
        }
        var returnValue = paraObj[paras.toLowerCase()];
        if (typeof (returnValue) == "undefined") {
            return "";
        } else {
            return returnValue;
        }
    }

    //进入页面获取参数
    var acceptTimeStartStr =request('acceptTimeStartStr');
    alert(acceptTimeStartStr)