当前位置:首页 > JavaScript

js实现404

2026-02-02 10:54:14JavaScript

在JavaScript中实现404页面处理

通过监听路由变化或检查资源状态,可以动态触发404页面的显示或跳转。以下是几种常见实现方式:

使用前端路由库(如React Router)

在单页应用(SPA)中,可以通过路由配置定义404页面:

js实现404

// React Router v6示例
import { Routes, Route } from 'react-router-dom';

function App() {
  return (
    <Routes>
      <Route path="/" element={<Home />} />
      <Route path="/about" element={<About />} />
      <Route path="*" element={<NotFound />} /> // 匹配所有未定义路径
    </Routes>
  );
}

原生JavaScript检测无效路径

通过解析当前URL路径与有效路由列表对比:

const validRoutes = ['/', '/home', '/contact'];
const currentPath = window.location.pathname;

if (!validRoutes.includes(currentPath)) {
  window.location.href = '/404.html'; // 跳转至静态404页面
  // 或动态渲染404内容
  document.body.innerHTML = '<h1>404 Not Found</h1>';
}

动态内容加载失败处理

当异步加载资源失败时触发404状态:

js实现404

fetch('/api/data')
  .then(response => {
    if (response.status === 404) {
      throw new Error('Resource not found');
    }
    return response.json();
  })
  .catch(error => {
    if (error.message.includes('404')) {
      render404Page();
    }
  });

function render404Page() {
  // 动态插入404内容
}

服务端配合方案

结合Node.js等后端服务返回404状态码:

// Express示例
app.use((req, res, next) => {
  res.status(404).sendFile(path.join(__dirname, '404.html'));
});

前端可通过检查响应状态码处理:

fetch('/some-page')
  .then(res => {
    if (res.status === 404) {
      // 处理404逻辑
    }
  });

注意事项

  • 对于SEO优化,确保服务端返回真实的HTTP 404状态码
  • 在静态网站中,需配置服务器(如Nginx)将所有未匹配路径指向404页面
  • 提供返回首页或导航选项改善用户体验
  • 考虑记录404路径用于分析无效链接

标签: js
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let co…

js实现类

js实现类

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

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取所有…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…