<!DOCTYPE html>
<html>
<head><title></title>
</head>
<body><div className="nav"><a οnclick="linkTo(1)">link1</a><a οnclick="linkTo(2)">link2</a></div><div id="router-view"></div><script>var view = document.getElementById('router-view');function linkTo(link){switch(link) {case 1: {window.history.pushState({a:1}, 'mylink1', '/link1');view.innerHTML = 'link1 content';break;}case 2: {window.history.pushState({a:1}, 'mylink2', '/link2');view.innerHTML = 'link2 conetnt';break;}default: return;}return false;}window.addEventListener('popstate', function(e){console.log(e);})</script>
</body>
</html>

利用history.pushState实现前端路由相关推荐

  1. SPA 中前端路由基本原理与实现方式

    SPA 前端路由原理与实现方式 通常 SPA 中前端路由有2中实现方式,本文会简单快速总结这两种方法及其实现: 修改 url 中 Hash 利用 H5 中的 history Hash 我们都知道 ur ...

  2. 前端路由模式详解(hash和history)

    前端路由模式详解(hash和history) 前端路由有两种模式:hash 模式和 history 模式,接下来分析这两种模式的实现方式和优缺点. hash 模式 hash 模式是一种把前端路由的路径 ...

  3. c语言实现路由功能,前端路由的两种实现方式,内附详细代码

    一.前端路由介绍 前端路由主要应用在SPA(单页面开发)项目中.在无刷新的情况下,根据不同的URL来显示不同的组件或者内容. 前端路由的实现原理 : hash值 + onhashchange事件 hi ...

  4. javascript基础修炼——前端路由的基本原理

    前端路由,顾名思义就是一个前端不同页面的状态管理器,可以不向后台发送请求而直接通过前端技术实现多个页面的效果. [造轮子]是笔者学习和理解一些较复杂的代码结构时的常用方法,它很慢,但是效果却胜过你读十 ...

  5. 404 单页应用 报错 路由_详解vue 单页应用(spa)前端路由实现原理

    写在前面:通常 SPA 中前端路由有2种实现方式: window.history location.hash 下面就来介绍下这两种方式具体怎么实现的 一.history 1.history基本介绍 w ...

  6. Vue 前端路由基础

    Vue 前端路由基础 何为路由? 在现代前端开发中,路由是非常重要的一环.但路由到底是什么呢? 对于前后端来说,路由就是URL到函数的映射.通俗地来说,这是从路由的实现原理上来解释路由的(就好比计算机 ...

  7. 怎样监听history.pushState、history.replaceState事件

    前言 SPA应用的核心是路由监听,一般有两种方式,其一是利用URL锚点并监听hashchange事件,其二就是利用history.pushState和history.replaceState两个API ...

  8. 单页面应用(SPA)前端路由hash 模式 VS history 模式

    文章目录 单页面应用(SPA) 前端路由的由来 前端路由 hash 模式 history 模式 hash.history优缺点 单页面应用(SPA) 简单的说 SPA 就是一个WEB项目只有一个 HT ...

  9. 【前端路由】Vue-router 中hash模式和history模式的区别 a标签跳转

    [前端路由]Vue-router 中hash模式和history模式的区别 咱们今天说说VUE路由的hash模式与history模式的区别,这个也是面试常问的问题,不要小看这道题其实问到这里的时候那个 ...

最新文章

  1. linux 禅道服务器,Linux下如何搭建禅道项目管理软件
  2. 间接寻址级别不同_详解西门子间接寻址之地址寄存器间接寻址
  3. HDU 6682 Make Rounddog Happy
  4. php执行npm命令_npm系列之命令执行
  5. 第二百一十九天 how can I 坚持
  6. 解决window的bat脚本执行出现中文乱码的问题
  7. 数据仓库ETL(二)基本概念
  8. VB6源代码收藏页面
  9. BXP无盘的更新操作详解(大镜像)(转)
  10. 周记——20150720
  11. Unity版本升级指南 从unity xx 到 unity 20xx
  12. 基于SSH+Html的外汇资产业务交易管理系统设计与实现
  13. 小米应用市场隐私政策
  14. [PyQt5]基本控件19 - 分割条QSplitter
  15. job全异常 mapreduce_eclipse 运行MapReduce程序错误异常汇总(解决Map not fount)
  16. @DateTimeFormat@JsonFormat注解详解
  17. 【kaggle】特征工程 trick
  18. tim拒绝远程连接服务器失败怎么办,腾讯tim怎么开启远程控制-腾讯tim开启远程控制的方法 - 河东软件园...
  19. 如何使用ROS 控制桌面机械手Dobot魔术师?
  20. 小程序上传视频的php接口处理,微信小程序[第十二篇] -- 上传视频

热门文章

  1. 图片标注工具LabelImg的使用
  2. 如何成为月入五万的程序员,他们告诉你!
  3. WAF详解及WAF绕过
  4. ElasticSearch 慕课网(一)
  5. 单片机c语言孔雀开屏,《人形机器千手观音动作实现研究》》-毕业论文.doc
  6. 品牌如何借助江湖老大“音乐记忆”做宣传?
  7. YOLOV5—6.0 网络结构图
  8. RA4M2开发(1)----使用串口进行打印
  9. 商标名称注册查询有那些注意!
  10. vue 上传文件至阿里云oss