zoukankan      html  css  js  c++  java
  • sessionStorage、localStorage与cookie

    sessionStoage:容量大、安全、临时存储,跨页面

    localStorage: 容量大、安全、永久存储、跨页面

    应用:

    <!-- 存储页面 test-local -->
    <template>
      <div>
        <a @click="toAnother()">点击</a>
      </div>
    </template>
    <script>
    export default {
      methods: {
        toAnother() {
          // session 添加session
          sessionStorage.code = 90088
          sessionStorage.setItem('page', 1)
          // local 添加local
          localStorage.age = 27
          localStorage.setItem('passcode', 12345)
          this.$router.push(`/testLocalTo`)
        }
      }
    }
    </script>
    <!-- 跳转页面 test-local-to -->
    <template>
      <div></div>
    </template>
    <script>
    export default{
      created() {
        this._getLocalData()
      },
      methods: {
        _getLocalData() {
          // session 获取session
          let code = sessionStorage.code
          console.log('code =', code)
          let page = sessionStorage.getItem('page')
          console.log('page =', page)
          // local 获取local
          let age = localStorage.age
          console.log('age =', age)
          let passcode = localStorage.getItem('passcode')
          console.log('passcode =', passcode)
        }
      }
    }
    </script>

    关闭当前页面,再次打开后,sessionStorage消失;localStorage依旧有

    cookie与sessionStorage/localStorage机制不一样,这里单聊

    cookie:容量小、不安全、有时间期限、跨页面

    <template>
      <div>
        <a @click="setOneCookie()">设置cookie</a>
        <div class="set">
          <span>设置cookie</span>
          <input type="text" v-model="key">
          <input type="text" v-model="val">
          <input type="submit" @click="setOneCookie()" value="提交设置">
        </div>
        <div class="find">
          <span>查询cookie</span>
          <input type="text" v-model="query">
          <input type="submit" @click="getOneCookie()" value="查询">
        </div>
        <div class="find">
          <span>删除cookie</span>
          <input type="text" v-model="deleteName">
          <input type="submit" @click="removeCookie(deleteName)" value="删除">
        </div>
      </div>
    </template>
    <script>
    export default {
      data() {
        return {
          key: '',
          val: '',
          days: 5,
          query: '',
          deleteName: ''
        }
      },
      methods: {
        // 查询一个cookie
        getOneCookie() {
          let getCookieVal = this.getCookie(this.query)
          console.log('getCookieVal', getCookieVal)
        },
        // 设置一个cookie事件
        setOneCookie() {
          // console.log('key', typeof (this.key), 'val', typeof (this.key))
          this.setCookie(this.key, this.val, this.days)
        },
      // 设置cookie
        setCookie(key, val, exdays) {
          // 获取当前时间 格式:Thu Mar 22 2018 16:05:32 GMT+0800 (中国标准时间)
          let now = new Date()
          // getDate()获取天数 exdays增加的天数
          // now.setDate(now.getDate() + exdays) 转化为毫秒数(1970 年 1 月 1 日至今的毫秒数)
          now.setDate(now.getDate() + exdays)
          // 设置cookie key val expires
          document.cookie = key + '=' + val + ';expires=' + now
          console.log('Allcookie', document.cookie)
        },
      // 获取cookie
        getCookie(key) {
          let keyName = key + '='
        // arr 数据
          let arr = document.cookie.split(';')
          console.log(arr)
          for (var i = 0; i < arr.length; i++) {
            let el = arr[i].trim()
            console.log(el)
         // el.substring(keyName.length, el.length)获取等号后面的val值
            if (el.indexOf(keyName) === 0) return el.substring(keyName.length, el.length)
          }
          return ''
        },
      // 移除cookie
        removeCookie(key) {
        // 时间设为-1即可
          this.setCookie(key, '', -1)
          console.log('Allcookie', document.cookie)
        }
      }
    }
    </script>
    <style lang="scss" scoped>
      .set,.find{
        margin: 20px 20px;
      }
    </style>

    添加cookie

    查询cookie

    删除cookie

     原文链接:https://www.cnblogs.com/beka/p/8621813.html

  • 相关阅读:
    CSS知识总结一
    Html知识总结一
    转:B/S和C/S结构的区别
    转:理解本真的 REST 架构风格
    转载:简洁明了说明RESTful架构是什么
    名词理解
    转: 如何理解API,API 是如何工作的
    WEB的理解
    开关按钮的实现
    ssm学习之ssm框架详解
  • 原文地址:https://www.cnblogs.com/fei-H/p/11362426.html
Copyright © 2011-2022 走看看