当前位置:首页 > JavaScript

js实现跳转

2026-01-08 12:15:48JavaScript

使用 window.location 跳转

通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。

// 方法1:直接赋值
window.location.href = 'https://example.com';

// 方法2:简写形式
window.location = 'https://example.com';

// 带参数的跳转
window.location.href = 'https://example.com?param=value';

使用 location.assign()

location.assign() 方法会加载新文档并保留浏览器历史记录,允许用户通过后退按钮返回原页面。

location.assign('https://example.com');

使用 location.replace()

location.replace() 直接替换当前页面,不保留历史记录,用户无法通过后退按钮返回。

location.replace('https://example.com');

使用 window.open()

在新标签页或窗口中打开链接,可通过参数控制打开方式。

// 新标签页打开(默认)
window.open('https://example.com');

// 新窗口打开
window.open('https://example.com', '_blank');

// 当前窗口打开(等效于 location.href)
window.open('https://example.com', '_self');

使用 meta 标签跳转

通过动态插入 <meta> 标签实现延迟跳转,常用于页面自动跳转场景。

// 3秒后跳转
const meta = document.createElement('meta');
meta.httpEquiv = 'refresh';
meta.content = '3;url=https://example.com';
document.head.appendChild(meta);

使用表单提交跳转

通过动态创建表单并提交实现 POST 跳转,适用于需要传递表单数据的场景。

const form = document.createElement('form');
form.method = 'POST';
form.action = 'https://example.com';

const input = document.createElement('input');
input.type = 'hidden';
input.name = 'data';
input.value = 'example';
form.appendChild(input);

document.body.appendChild(form);
form.submit();

使用 History API

通过 history.pushState()history.replaceState() 修改浏览器地址栏而不刷新页面,适用于单页应用(SPA)。

js实现跳转

// 添加历史记录并跳转
history.pushState({}, '', '/new-path');

// 替换当前历史记录
history.replaceState({}, '', '/new-path');

注意事项

  • 使用 window.open() 可能被浏览器拦截,需确保由用户触发(如点击事件)。
  • location.replace() 不保留历史记录,适合登录后跳转等场景。
  • History API 需配合前端路由框架使用,单独调用可能需手动处理页面内容更新。

标签: 跳转js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js实现分页

js实现分页

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

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

vue 实现页面跳转

vue 实现页面跳转

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转可以通过多种方式,主要包括使用 Vue Router 提供的导航方法和原生 JavaScript 的方式。 使用 Vue Router 的 ro…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…