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>
  • 相关阅读:
    深入理解Java内存模型(JMM)
    Java基础知识①
    Java自旋锁的几种实现
    ConcurrentHashMap的CAS操作
    Java集合对比总结
    python模块--os模块
    python模块--random
    Datafactory 学习笔记
    Datafactory 实际使用案例
    Oracle三种排名函数使用
  • 原文地址:https://www.cnblogs.com/wuqilang/p/15134932.html
Copyright © 2011-2022 走看看