Is it possible to mock [removed] in JavaScript?

后端 未结 6 547
猫巷女王i
猫巷女王i 2020-12-14 07:39

document.cookie is like a string, but it is not a string. To quote the example from the Mozilla doc:

document.cookie = \"name=oeschger\";
docume         


        
6条回答
  •  情深已故
    2020-12-14 08:17

    This implementation allows overwriting cookies, and adds document.clearCookies()

    (function (document) {
        var cookies = {};
        document.__defineGetter__('cookie', function () {
            var output = [];
            for (var cookieName in cookies) {
                output.push(cookieName + "=" + cookies[cookieName]);
            }
            return output.join(";");
        });
        document.__defineSetter__('cookie', function (s) {
            var indexOfSeparator = s.indexOf("=");
            var key = s.substr(0, indexOfSeparator);
            var value = s.substring(indexOfSeparator + 1);
            cookies[key] = value;
            return key + "=" + value;
        });
        document.clearCookies = function () {
            cookies = {};
        };
    })(document);
    

提交回复
热议问题