html页面  
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="js/sea.js"></script>
    <script>
        seajs.config({
            alias:{
                cookie:'cookie',
                strong:'strong'
            }
        })
 
        seajs.use("main")
 
    </script>
</head>
<body>
 
</body>
</html>
 
 
 
 
main.js页面
 
define(function(require,exports,module){
    var strong=require("strong");
 
        strong.setItem("hellowords","01-20 16:15",1);
 
        strong.setItem("style","hello",1);
 
        //strong.removeItem('style');
 
        //strong.removeItem("hellowords");
 
        strong.setItem("lili","hello",1);
 
        strong.setItem("z","zz",1);
 
        //strong.removeItem('lili');
 
        strong.setItem('guo','boyu',1);
 
        //strong.getItem("guo")
        console.log(strong.getItem("guo"))
 
})
 
 
strong.js页面
 
define(function(require,exports,module){
    var ls=window.localStorage;
 
    if(!ls){// 如果支持webStorage
        return{
 
            getItem:function(key){
                return ls.getItem(key);
            },
            setItem:function(key,val){
                this.removeItem(key);
                return ls.setItem(key,val);
            },
            removeItem:function(key){
                return ls.removeItem(key);
            }
        }
 
 
    }else{// 支持cookie
        var cookie=require("cookie");
        return{
            getItem:function(key){
                return cookie.getItem(key)
            },
            setItem:function(key,val,days){
                cookie.setItem(key,val,days)
            },
            removeItem:function(key){
                cookie.removeItem(key)
            }
        }
 
    }
 
 
})
 
cookie页面
 
 
define(function(require,exports,module){
 
    return {
 
        getItem:function(key){
            //console.log(key)
            var reg=new RegExp('(^| )'+key+'=([^;]*)(;|$)');
            var arr=document.cookie.match(reg);
            //console.log(arr)
            if(arr) return unescape(arr[2]);
            return null;
        },
        setItem:function(key,val,days){
            //如果不设置天数 , 默认为30天
            days=days?days:30;
            var exp=new Date();
            exp.setTime(exp*1+days*(24*60*60*1000));
            if(typeof(Domain)==="undefined" || Domain==null){
                Domain=location.host // 获取主机地址
            }
            document.cookie=key+'='+escape(val)+';expires='+exp+';domain='+Domain+';path=/';
        },
        removeItem:function(key){
            // 设置时间过期
            if(this.getItem(key)){
                this.setItem(key,"",-1);
            }
        }
 
    }
 
 
 
})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

兼容cookie和webStorage的更多相关文章

  1. JavaScript高级编程———数据存储(cookie、WebStorage)

    JavaScript高级编程———数据存储(cookie.WebStorage) <script> /*Cookie 读写删 CookieUtil.get()方法根据cookie的名称获取 ...

  2. cookie,webstorage的理解

    在前两天的开发时,遇到一个问题,需要将一个网页在预加载时,优先出一个弹出框,但是再次加载时不希望它出现,在经过一段时间的搜索和尝试之后,发现了大多使用的两种方式:生成cookie和webStorage ...

  3. 一文梳理Web存储,从cookie,WebStorage到IndexedDB

    前言 HTTP是无状态的协议,网络早期最大的问题之一是如何管理状态.服务器无法知道两个请求是否来自同一个浏览器.cookie应运而生,开始出现在各大网站,然而随着前端应用复杂度的提高,Cookie 也 ...

  4. cookie与webStorage区别

  5. cookie和webstorage

    HTML 5 Web 存储 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 <!DOCTYPE html> <html> ...

  6. Servlet的cookie使用,500报错,tomcat和cookie语法不兼容解决

    出现类似上图的错误,应该是tomcat和cookie的语法不兼容 cookie不要用逗号","作分隔符,换井号#试试就可以了

  7. QQ浏览器兼容模式下Cookie失效 导致的NetCore Cookie认证失效

    最近在写NetCore项目采用的是NetCore的Cookie认证.结果偶然发现QQ浏览器登录不好用.这里先需要了解一下set-cookie中的SameSite属性  导致原因 首先Fiddler 4 ...

  8. WebStorage记录滚动条位置

    因关注公众号<HTML5学堂>看到这篇文章 "利用本地存储,记录滚动条的位置" ,便好奇敲来试试,然后又看了一些关于WebStorage的资料 附上这篇文章的地址 ht ...

  9. 【转】深入解析cookie

    来源:http://www.freebuf.com/articles/web/42802.html 写的超级详细,mark下,刚好学习爬虫的时候,有用到cookie模仿登录的,就顺便了解下. 0×00 ...

随机推荐

  1. 学习了quartz.net2.0的心得

    由于项目中要运用到此调度方法,所以抽空学习了下,简单的用法可以掌握了 首先作为没有用过的人来说,怎么用呢? 于是百度了下原来先要下载 quartz.net2.0, 然后我就去下了个quartz.net ...

  2. crm软件如何实现企业智能化管理?

    互联网技术的发展,让企业越来越重视客户的感知体验,企业只有适应并接受再逐步转向智能化发展模式,才能在市场竞争中取胜不被淘汰.选择一款适宜企业自身发展的CRM系统,根据自身的具体情况随需而定,企业才能更 ...

  3. Oracle找回删除的记录

    select * from table AS OF TIMESTAMP systimestamp - 1/24/2; 用这个sql可以找回table表半小时前的记录,最后的时间可以改,但是太久了估计是 ...

  4. GOAndroid的安装和配置

    android环境的配置还是比较复杂的,特别对于我这样一直使用mfc的程序员来说,有很多观念上需要转变.好在配置成功后就能够不断复用,那么这样的问题值得整理出来 一.安装jdk 二.解压adt-bun ...

  5. Oracle(创建视图)

    概念: 视图:所谓视图就是提取一张或者多张表的数据生成一个映射,管理视图可以同样达到操作原表的效果,方便数据的管理以及安全操作. 视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关 ...

  6. html局部打印

    html页面局部打印的小栗子 只要修改点击打印的按钮和打印的div区域的id就行啦 <!DOCTYPE html> <html> <head> <title& ...

  7. 《与小卡特一起学Python》 Code6 注释

    """这是一个包括多行的注释, 使用了三重引号字符串. 这不完全是注释,不过也可以相当于注释. """ #***************** ...

  8. 从C++到GO

    从C++到GO 刚开始接触Go语言,看了两本Go语言的书,从c++开发者的角度来看看go语言的新特性,说下自己感触较深的几点: 并发编程 Go语言层面支持协程,将并发业务逻辑从异步转为同步,大幅提高开 ...

  9. java subList方法小记

    在java中,我们有时候需要对一个list进行拆分处理,这个时候就需要用到list的切割方法subList. 我们知道list里面的序号起始是从0开始的,所以一个含有23条数据的list,它的序号是从 ...

  10. 安卓CPU性能测试

      步骤1.adb shell (进入linux的底层) 步骤2.echo 3>/proc/sys/vm/drop_caches(清除系统cache) 步骤3.top -d 1|grep com ...