window.location对象可以使用JavaScript操作将URL重定向到新的位置,一般情况下使用服务器配置和http标头属性 如何使用JavaScript对URL进行重定向 网页中许多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历史记录进行回溯 |