JS 值传递问题,求解决

现在有两个页面,分别记作页面A和页面B,这两个页面分别对应两个JS文件:a.js 和 b.js,现在要在 a.js 中获取到页面A的URL,然后把这个值传递给b.js,让b.js获取到这个URL值并使用它,这个应该怎么实现啊?比较着急,希望路过的大神给指教下。

阅读 2.9k
6 个回答

可以利用H5的 localStorage
A页面:localStorage.setItem('myUrl',location.href)
B页面:localStorage.getItem('myUrl')

2种方式:

  1. URL参数传递,在A页面添加上参数,然后在B页面获取url中的参数
  2. cookie或localStorage,在A页面存储数据,在B页面获取数据
<a href="b.html" id="aPage">在url里带数据跳转到b页面</a>
<script>
        $(document).ready(function() {
            // 拼接跳转url中要传输的数据
            var dataUrl = [];
            dataUrl.push('feng');
            dataUrl.push('xin');

            $('#aPage').on('click',function(){
                $('#aPage').attr("href","b.html?data=" + dataUrl);
            })
        });
    </script>
<input type="text" id="getUrlData">
 <script>
        $(document).ready(function() {
            //使用正则表达式获取url中的参数
            function getUrlParam(name) {
                //构造一个含有目标参数的正则表达式对象
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
                //匹配目标参数
                var r = window.location.search.substr(1).match(reg);

                console.log(window.location.search);
                //返回参数值
                if (r != null) return unescape(r[2]); return null;
            }
            var urlData = getUrlParam('data');
            // 将数据填充到input框里面
            $('#getUrlData').val(urlData);
        });
    </script>

在url上传递,b.html?param=A上获取的值

a页面 window.location.href ='b.html?name=xx'
b页面 window.location.href 获取URL

谢谢楼上各位的帮助,目前我采用的是h5的localstorage来解决的这个问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题