内容简介:众所周知,我们可以通过假设有这样一个直接把url赋值给
众所周知,我们可以通过 location
获得当前页面地址(URL)的 href
、 protocol
、 host
、 search
、 hash
等属性,但是如果给你一个 url字符串 ,怎么得到这些属性呢?也许用正则是一个方法。
假设有这样一个 url 字符串 "https://demo.vczhan.com/wave/heart-wave.html?name=abc&age=18#part"
,该怎么解析它呢。
iframe
直接把url赋值给 location.href
会从当前页面跳转到 url 的页面,如果我们在当前页面新建一个 iframe
并给它的 src
赋值这个 url ,似乎可以通过iframe的 window.location
拿到url的各个属性。
但是很遗憾,对于 跨域的url ,不会触发iframe的 window.onload
,直接访问 location.href
,浏览器也给出提示限制跨域。
a
提到 url ,可能会有人想到 <a>
标签,因为我们经常访问页面地址是通过点击 a
链接跳转的,那么能否通过它来解析 url 呢?
我们创建了一个 a
元素,并给它的 href
赋值了 url ,可以打印出这个 a
元素的对象,其中就包括 url 的这些属性。
并且可以利用它简单判断一个 url 是否是合法的,不合法的 url ,
host
,
origin
为
null
URL
利用 a
元素来解析 url 算是奇淫巧技吧,其实现代浏览器提供了一个创建的 URL对象 的构造函数— URL()
,直接把 url 当作参数传入,就会返回一个 URL对象 。
返回的 URL对象 有个 searchParams
属性,可以对 url 的 search
部分解析,再也不需要用循环或正则方式获取 search
对象。
var url = 'https://demo.vczhan.com/wave/heart-wave.html?name=abc&age=18#part' var searchParams = new URL(url).searchParams searchParams.get('name') // abc searchParams.has('age') // 18
当然,有个专门处理 search
的API: URLSearchParams
// {a: 1, b: 2} -> a=1&b=2 new URLSearchParams({a: 1, b: 2}).toString() // a=1&b=2 -> {a: "1", b: "2"} var obj ={} var searchParams = new URLSearchParams('?a=1&b=2') // searchParams.has('a') // true // searchParams.get('a') // 1 // searchParams.append('c', '3'); searchParams.toString() // "a=1&b=2&c=3" for(var [key, value] of searchParams.entries()) { obj[key] = value } console.log(obj)
更详细的请参考下方链接
URL: https://developer.mozilla.org...
URLSearchParams: https://developer.mozilla.org...
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 查找一个字符串中最长不含重复字符的子字符串,计算该最长子字符串的长度
- 字符串、字符处理总结
- 高频算法面试题(字符串)leetcode 387. 字符串中的第一个唯一字符
- php删除字符串最后一个字符
- (三)C语言之字符串与字符串函数
- 算法笔记字符串处理问题H:编排字符串(2064)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Algorithms for Image Processing and Computer Vision
Parker, J. R. / 2010-12 / 687.00元
A cookbook of algorithms for common image processing applications Thanks to advances in computer hardware and software, algorithms have been developed that support sophisticated image processing with......一起来看看 《Algorithms for Image Processing and Computer Vision》 这本书的介绍吧!