我无法在歌剧和互联网浏览器中设置cookie

I can't set cookie in opera and internet Explorer

本文关键字:浏览器 互联网 设置 cookie      更新时间:2023-09-26
var ShopCookie = {}
ShopCookie.addc = function createCookie(name,value,days=30) {   
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}
ShopCookie.addc('cookie1','Mytext');

我有这段代码,它在FireFox和Chrome中运行良好。但是歌剧,EDGE和IE什么也没做!

函数

参数声明中days=30的语法是新的 ES6 功能,尚未在所有地方都支持。

您可以回退到旧样式的默认参数:

var ShopCookie = {}
ShopCookie.addc = function createCookie(name,value,days) {    
    // if days argument not passed, then default it to 30 days
    if (arguments.length < 3) {
        days = 30;
    }
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}
ShopCookie.addc('cookie1','Mytext');

仅供参考,您应该在调试控制台中看到错误,这些错误会告诉您浏览器不喜欢的语法。 每当有代码不起作用时,您总是会在那里查找。