美文网首页
地址栏传值

地址栏传值

作者: 新新_6261 | 来源:发表于2019-01-10 14:01 被阅读0次

    在中文加入到地址栏前,进行两次encodeURI转码 , 在传输过程中浏览器会解析一遍,到达指定页面获取地址栏参数的时候,再进行一次decodeURI解码就可以了。

    查看实例a.html和b.html 页面

    a.html

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
        </body>
        <script type="text/javascript">
            //这是第一个页面a.html
            //通过地址栏传参的方式设置第二个页面b.html的标题为:中文
            var title = "中文";
            var _t = encodeURI(encodeURI(title));
            window.location.href = "b.html?title="+_t;
        </script>
    </html>
    

    b.html

    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
        </body>
        <script type="text/javascript">
            var _t = getQueryString("title"); //获取地址栏参数
            var title = decodeURI(_t); //只需要转一次码
            document.getElementsByTagName("title")[0].innerHTML = title;
            //获取地址栏参数的方法
            function getQueryString(name) {
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
                var r = window.location.search.substr(1).match(reg);
                if (r != null) return unescape(r[2]); return null;
            }
        </script>
    </html>
    

    把a.html和b.html复制到同一目录下,打开a.html即可看到效果。实测IE,Chrome,Fire Fox等主流浏览器均没有问题。

    相关文章

      网友评论

          本文标题:地址栏传值

          本文链接:https://www.haomeiwen.com/subject/qscarqtx.html