网页跳转用原生的JavaScript就可以实现。
至于是跳转至不同的域名,还是跳转至当前域名不同的路径,甚至是将HTTP协议修改为HTTPS协议,这些事情都可以通过JS修改location值可以实现。
如果将location当做是一个对象,以 http://www.yixzm.cn/post 页面为例,那么它的每个成员变量含义如下:
location.host: 域名,如 www.yixzm.cn
location.hostname: 额,貌似还是域名
location.href: 指向当前页面,包含HTTP、HTTPS等协议头的完整链接地址,如 http://www.yixzm.cn/post
location.origin: 包含协议头和域名,如 http://www.yixzm.cn
location.pathname: 当前域名的路径地址,不包含协议头和域名,如 /post
查阅https://blog.csdn.net/siwangdexie_copy/article/details/83382718可知:
location.host 域名包含端口号信息。
指导location具体的含义,那怎么用呢?
超级简单,比如,我想将地址 http://www.yixzm.cn/post 改为 http://www.yixzm.cn/post/list
只需要:
location.pathname = /post/list
即可,其他location成员变量值类比使用。
那我是怎么知道这些的呢?很简单,在JS代码中将location在console中输出查看值即可。
如 console.log(location),输出信息如下:
Location {replace: ƒ, href: "http://www.yixzm.cn/post", ancestorOrigins: DOMStringList, origin: "http://www.yixzm.cn", protocol: "http:", …} ancestorOrigins: DOMStringList {length: 0} assign: ƒ assign() hash: "" host: "www.yixzm.cn" hostname: "www.yixzm.cn" href: "http://www.yixzm.cn/post" origin: "http://www.yixzm.cn" pathname: "/post" port: "" protocol: "http:" reload: ƒ reload() replace: ƒ () search: "" toString: ƒ toString() valueOf: ƒ valueOf() Symbol(Symbol.toPrimitive): undefined proto: Location
截图:
瞧,就这么简单!