当前位置:首页 > JavaScript

js实现重定向

2026-01-30 09:26:20JavaScript

使用 window.location 实现重定向

通过修改 window.location 对象的属性可以实现页面重定向。

js实现重定向

// 直接修改 href
window.location.href = "https://example.com";

// 使用 assign 方法(可回退)
window.location.assign("https://example.com");

// 使用 replace 方法(不可回退)
window.location.replace("https://example.com");
  • hrefassign:浏览器会记录跳转前的页面,用户可通过后退按钮返回。
  • replace:替换当前历史记录,无法通过后退返回原页面。

使用 meta 标签实现重定向

在 HTML 的 <head> 中添加 <meta> 标签,通过 http-equiv="refresh" 实现自动跳转。

js实现重定向

<meta http-equiv="refresh" content="3; url=https://example.com">
  • content="3" 表示 3 秒后跳转。
  • 适用于无需 JavaScript 的场景,如静态页面。

使用 HTTP 状态码重定向

在服务器端(如 Node.js)通过设置 302301 状态码实现重定向。

// Node.js Express 示例
const express = require("express");
const app = express();

app.get("/old-page", (req, res) => {
  res.redirect(301, "https://example.com/new-page");
});

app.listen(3000);
  • 301:永久重定向,搜索引擎会更新链接。
  • 302:临时重定向,搜索引擎不会更新链接。

使用 history.pushStatereplaceState

适用于单页应用(SPA),仅修改浏览器历史记录而不刷新页面。

// 添加新历史记录
window.history.pushState({}, "", "/new-url");

// 替换当前历史记录
window.history.replaceState({}, "", "/new-url");
  • 需配合前端路由框架(如 React Router、Vue Router)使用。
  • 不会向服务器发送请求,仅改变 URL。

注意事项

  • 避免滥用重定向,尤其是 meta 自动跳转,可能被搜索引擎视为作弊。
  • 确保目标 URL 有效,否则可能导致循环重定向。
  • 在单页应用中优先使用路由跳转,而非全局重定向。

标签: 重定向js
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…