点击上方“蓝字”,发现更多精彩。
这个问题其实是个很常见的问题,而且在面试中也会经常被提起,其实想实现这个需求也比较简单,就是考察下对数据交互处理基本操作。
开始转化
var baseUrl = function GetRequest() { var theRequest = new Object(); var url = location.search; //获取url中"?"符后的字符串 if (url.indexOf("?") != -1) {var strs = url.split("&");for (var i = 0; i < strs.length; i++) {theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);}}return theRequest;}console.log(baseUrl())
最终结果
注意地址栏带#
在vue默认hash路由情况下上面方式是不行的,因为location.search获取不到带#地址栏想要的字符串信息,修改如下:
var baseUrl = function GetRequest() {var theRequest = new Object(); if (location.href.indexOf("?") != -1) {var newUrl = location.hash.split("?");newUrl.splice(0,1);var strs = newUrl.join().split("&")for (var i = 0; i < strs.length; i++) {theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);} } return theRequest;}console.log('1',baseUrl())
常见获取地址栏信息几个方法
//设置或获取整个 URL 为字符串。alert(window.location.href);//设置或获取 href 属性中在井号“#”后面的分段。alert(window.location.hash);//设置或获取 href 属性中跟在问号后面的部分。alert(window.location.search);
END
●tree树形加载-嵌套数据格式的增删查改tree树形加载-嵌套数据格式的增删查改
●使用less自动进行移动端rem适配计算
●最简单的方式让input输入框增强记忆模糊搜索功能
●JS利用插件简单优雅的实现逼真的爱心/雪花飘落特效
●双击视频/图片全屏功能(解决全屏后双击无法退出)
●js原生判断浏览器滚轮滚动方向+滚动事件节流+兼容IE5+
扫码关注我们微信号:gh_dcd05cdf3c3e扫码关注我们,获取最新资讯。分享,点赞,在看,都在这儿,点我不香吗?