js删除浏览器url后边参数 页面不刷新 禁用html5

JavaScript018

js删除浏览器url后边参数 页面不刷新 禁用html5,第1张

// 如果是删除所有参数,则直接根据?来分割成数组再取第一个

var url = 'zhidao.baidu.com/new?word=js+unction&ie=GBK'

url = url.split('?')[0]

window.history.pushState({}, 0, url)

// 至于你说的要变成zhidao.baidu.com,则再根据 / 来操作

var url = 'zhidao.baidu.com/new?word=js+unction&ie=GBK'

var http_ = url.indexOf('//')>-1?url.split('//')[0]+'//':''

var c = url.indexOf('//')>-1?url.split('//')[1]:url

var cont_ = c.indexOf('/')>-1?c.split('/')[0]:c.indexOf('?')>-1?c.split('?')[0]:c

url = http_+cont_

window.history.pushState({}, 0, url)

我们在处理url的跳转时,往往会在url后面带着很多参数。有时候需要把这些参数转化成对象当作参数进行跳转或其他之用,比如angular2的 routerLink的地址是不带参数的,参数写在 queryParams里,这时候就需要对url进行处理。

当然可能还有其他地方可能会用到此类转换。

下面介绍对于url参数的几种转换方法

1.   js处理,利用split()和循环实现

结果 { a: 10 , b :2}

2.  利用querystring

     querystring是在node封装好的一个模块,有处理string的方法直接处理这种地址

这种方法可以直接进行处理

参考链接 Query String       querystring 模块的使用

3. 利用lodash处理

结果也是正确的。

不过lodash不会,所以把别人提供的方法放在这,再来在细细研究lodash

此方法已更新至文章  Lodash使用入门

参考链接   lodash文档

可以用replace函数去除指定字符串。

1、在body标签和html标签中添加一个script标签,定义一个字符串,这里以“这是个什么演示文本”为例,将此时的字符串输出到页面:

2、输入“str.replace('什么', '')”,str是之前定义的字符串变量名,replace是替换字符串函数,这个函数有两个参数,第一个参数是想要被替换的内容,第二个参数是想要被替换成新的内容,如果第二个为空的字符串,相当于去除想要被替换的内容:

3、replace函数返回的是字符串,这时需要重新将这个字符串赋值给原来的字符串,再将这个字符串输出,这时原文本中的“什么”就被去除了: