美文网首页
Hash路由

Hash路由

作者: 废弃的种子 | 来源:发表于2020-03-13 15:23 被阅读0次
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--路由:在不发送HTTP请求的情况下对页面进行刷新-->
<!--hash:页面中hash的变化不会发送http请求,我们可以根据hash值的变化来实现路由功能-->
<ul class="list">
    <li><a href="#/red">红</a></li>
    <li><a href="#/green">绿</a></li>
    <li><a href="#/blue">蓝</a></li>
</ul>
<script>
    class Route{
        constructor(){
            this.route={};
            this.currentUrl='';
            //在对象创建的时候就监听hash值的变化,防止hash变化但是没有捕捉到
            window.addEventListener('hashchange',this.refresh.bind(this),false);
        }
        router(path,callback){
            this.route[path]=callback || function () {};
        }
        //定义refresh方法,监测页面变化,对页面进行刷新
        //1、保存当前页面的hash值
        //2、根据hash值,去执行route对象保存的路由信息
        refresh(){
            let hash=location.hash.slice(1);
            console.log(hash);
            //根据hash值去执行route中的路由信息
            this.route[hash]();
        }
    }

    let list=document.querySelector(".list")
    let Router=new Route();


    Router.router('/red',function () {
        list.style.background='red';
    });
    Router.router('/green',function () {
        list.style.background='green';
    });
    Router.router('/blue',function () {
        list.style.background='blue';
    });


</script>


</body>

</html>

相关文章

  • 获取导航栏url的路由导航参数(Hash和非Hash)

    非Hash路由 Hash路由

  • Vue的两种路由模式

    在vue-router路由对象中,路由有两种模式:hash和history,而默认的是hash模式. hash路由...

  • Vue-router中hash模式和history模式

    一、路由 1.前端路由 Hash:使用url中的hash(#后面的参数)来作为路由,通过监听hash变化找到对应组...

  • 微信JSSDK网页

    微信网页jssdk hash路由分享导致个别机型分享跳转错误,或者白屏,就是因为不支持hash路由 hash路由 ...

  • Vue 路由router

    路由 路由是基于hash 和 history 封装的 hash history 路由在vue中使用流程 ps. 如...

  • 前端路由

    路由是什么 路由是用来分发请求 路由模式 hash模式,history模式,memory模式 1.hash模式 任...

  • 2021-11-28

    面试问题汇总 h5路由与hash路由区别(单页面应该程序) hash路由 1、hash变化会触发页面跳转,即浏览器...

  • 前端路由实现

    前端路由一般分为两种方式 hash路由 H5 History路由 简单介绍下这两个路由: hash路由 标志:ha...

  • React路由

    React路由 一、路由的形式 hash路由 : HashRouter history路由 : BrowserRo...

  • Vue的两种路由模式

    在vue-router路由对象中,路由有两种模式: hash 和 history,而默认的是hash模式,hash...

网友评论

      本文标题:Hash路由

      本文链接:https://www.haomeiwen.com/subject/qeqlshtx.html