js 放置 cookie、获取 cookie、删除 cookie

这块TM的删不掉

 

代码如下:

// 自定义  js cookies
var mycookie = {
        
    // 放置
    set : function(name,value){
        var Days = 1; //此 cookie 将被保存 Days 天
        var exp  = new Date();    //new Date("December 31, 9998");
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    },
    
    //获取
    get : function(name){
         var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
         if(arr != null) return unescape(arr[2]); return null;
    },
    
    //删除
    del : function(name){
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval=mycookie.get(name);
        if(cval!=null) document.cookie= name + "="+";expires="+exp.toGMTString();
    }
}

 

如果小伙伴们在实际项目中,发现 cookie 删除不了。这是怎么回事呢? 那就需要看看下面这些东西啦。

cookie 的一些属性:

1. domain:cookie 所在的域,默认为请求地址。如网址 www.baidu.com/test/index,那么 domain 默认为 www.baidu.com。而跨域访问呢,比如域A为 www.baidu.com,域B为 www.goodle.com。那么就需要将 domain 设置为 .com。如果想要产生一个域A 不能访问,而域B 可以访问的,domain 设置为 www.goodle.com。

2. path:cookie 所在的目录,默认为'/',就是根目录。在同一个服务器上有目录如下:/test/,/test/cd/,/test/dd/,现设一个 cookie1 的 path 为 /test/,cookie2 的 path 为 /test/cd/,那么 test 下的所有页面都可以访问到 cookie1,而 /test/ 和 /test/dd/ 的子页面不能访问 cookie2。这是因为 cookie 能让其 path 路径下的页面访问。

3. 浏览器会将 domain 和 path 都相同的 cookie 保存在一个文件里,cookie 间用 * 隔开。

4. 含值键值对的cookie:以前一直用的是 nam=value 单键值对的 cookie,一说到含多个子键值对的就蒙了。现在总算弄清楚了。含多个子键值对的 cookie 格式是name=key1=value1&key2=value2。可以理解为单键值对的值保存一个自定义的多键值字符串,其中的键值对分割符为 &,当然可以自定义一个分隔符,但默认是以 & 为分割符。

 

转载于:https://www.cnblogs.com/libra0920/p/5409392.html

在Unity WebGL中获取网页的Cookie是不直接支持的,因为Unity WebGL是在浏览器上运行的,它的安全策略限制了对浏览器的敏感信息的访问。 如果你需要在Unity WebGL中获取网页的Cookie,你可以考虑使用JavaScript和Unity之间的通信来实现。以下是一个示例: 1. 创建一个名为"JSInterface.jslib"的JavaScript库文件,并将其放置在Unity项目的Assets/Plugins文件夹中。文件内容如下: ```javascript mergeInto(LibraryManager.library, { GetDocumentCookie: function () { return document.cookie; }, }); ``` 2. 在Unity中创建一个名为"CookieManager.cs"的C#脚本,并将其附加到一个GameObject上。脚本内容如下: ```csharp using UnityEngine; public class CookieManager : MonoBehaviour { [DllImport("__Internal")] private static extern string GetDocumentCookie(); void Start() { // 调用JavaScript接口获取Cookie string cookie = GetDocumentCookie(); Debug.Log("网页的Cookie:" + cookie); } } ``` 注意,上述代码使用了DllImport特性,它将调用JavaScript库中的GetDocumentCookie函数。 3. 在Unity中构建WebGL项目,并在浏览器中运行。 当Unity WebGL项目在浏览器中运行时,将会调用GetDocumentCookie函数获取网页的Cookie,并在控制台输出。 请注意,这种方法依赖于浏览器对JavaScript与Unity之间的通信的支持。因此,请确保在支持WebGL的浏览器中测试。此外,由于涉及到浏览器安全性,获取Cookie的操作可能会受到一些限制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值