如何使用JavaScript对URL进行重定向

清浅
清浅 原创
2019-01-16 15:23:05 3898浏览

window.location对象可以使用JavaScript操作将URL重定向到新的位置,一般情况下使用服务器配置和http标头属性

网页中许多URL被重定向到新位置,通常使用服务器配置和HTTP标头属性。但是在许多情况下,可能需要使用JavaScript来重定向或导航到另一个URL

重定向的原因:

一般情况下希望重定向到新页面或者URL的原因有很多,比如:

更改了域或URL结构

用户已提交表单,但希望将它们指向序列中的下一页

该页面可能需要授权

从HTTP重定向到HTTPS

需要在单页面应用程序中触发新页面等等

window.location是对象管理浏览器加载的地址。操作位置对象是使用JavaScript管理页面重定向的方式。location对象具有触发JavaScript页面重定向的属性和方法

位置对象属性:

hash:用于单页面应用程序和单页面网站

host:URL的域名

hostname:类似于host

href:完整的URL

origin:URL的协议和域

pathname:原始后的URL slug或页面

port:如果URL中包含端口

协议:http,https,ftp,ftps等

这些属性中的每一个都是字符串,并且支持所有标准字符串方法

位置对象方法有:

assign:将位置对象设置为新URL

reload:强制页面使用相同的URL重新加载

替换:触发重定向

search:允许查询queryString

重定向到新地址

更改地址后,应执行301重定向。这是服务器使用新地址发送HTTP状态代码301的位置

301状态代码告诉用户代理:浏览器或搜索引擎蜘蛛,有一个新地址

301重定向允许您保持流量,并希望您的搜索引擎排名。

通常你会从服务器上执行此操作。但有时这是不可能的,您需要使用JavaScript重定向到URL

实现代码:

window.location.assign("new target URL");
window.location.replace("new target URL");

最好的方法就是使用location.replace方法,它对于任何301重定向方案都很有用,包括何时需要从HTTP重定向到HTTPS。但是使用JavaScript从HTTP重定向到HTTPS的更简洁方法是以下代码片段:

 if (location.protocol !== "https:"){
location.replace(window.location.href.replace("http:", 
"https:"));}

window.location对象可以使用JavaScript操作以重定向到不同URL的属性和方法。其中location.replace和location.assign非常有用,replace方法使会话历史记录保持干净,assign方法允许用户通过URL历史记录进行回溯

以上就是如何使用JavaScript对URL进行重定向的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。