zoukankan      html  css  js  c++  java
  • hash和history原生事件

    hash:

        <button id="myBtn">按钮</button>
        <script>
          // 监听hash的变化:手动去改路由、浏览器前进后退、点击事件更改hash
          window.onhashchange = (e) => {
            console.log('老url', e.oldURL)
            console.log('新url', e.newURL)
            console.log('hash', location.hash)
          }
          // DOM加载完毕事件:DOMContentLoaded
          window.addEventListener('DOMContentLoaded', () => {
            console.log(location.hash)
          })
          const myBtn = document.getElementById('myBtn')
          myBtn.addEventListener('click', () => {
            location.href = '#/bbb'
          })
        </script>

    history:

        <button id="myBtn">按钮</button>
        <script>
          // DOM加载完毕事件:DOMContentLoaded
          window.addEventListener('DOMContentLoaded', () => {
            console.log('path', location.pathname)
          })
          const myBtn = document.getElementById('myBtn')
          myBtn.addEventListener('click', () => {
            history.pushState({ name: 'user' }, '', 'user')
            console.log('路由切换到', 'user')
          })
          // 监听浏览前进后退
          window.onpopstate = (e) => {
            console.log('onpopstate', e.state, location.pathname)
          }
        </script>
  • 相关阅读:
    Linux系统安装
    设计模式的原则
    vue基础
    软考常考题目及解题技巧
    软件设计师
    Wireshark 使用教程
    JVM 调优
    Shell脚本编写
    Linux相关知识
    HTTP缓存机制及原理
  • 原文地址:https://www.cnblogs.com/wuqilang/p/15134932.html
Copyright © 2011-2022 走看看