jQuery $.session.set() 突然在 Chrome 中未定义



加载的库:

<script type="text/javascript" src="/js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="/js/jquery-ui.min.js"></script>    
<script type="text/javascript" src='/js/jquery.session.js'></script>
<script type="text/javascript" src="/js/functions.js"></script>

在Chrome中:我今天早上有以下经验:

$.session.set('auth',response.username);

引发未捕获的类型错误:无法读取未定义的属性"set"

我使用:

if($.session.get('auth') !== undefined){
    $.getScript('script.js');
}

和脚本.js未加载这才在今天早上开始在Chrome中发生。在其他浏览器中工作 - 甚至铬。Ran upgrade (Ubuntu Trusty),现在铬也不起作用。适用于 Windows 上的 Chrome

还有人在一夜之间像这样破解密码吗?

更新:如果我在 Chrome 中隐身,此问题会消失,我的网站可以正常工作。我的谷歌帐户的设置中一定有内容吗?

有人有过类似的经历吗?

请尝试这个。

试过了,它对我有用..

<!DOCTYPE html>
<html>
    <head>
        <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
        <script src="js/jquery.session.js"></script>
        <script type="text/javascript">
            // To Read
            $(function () {
                //Set the value to session
                $.session.set("userName", "This is session value");
                //Get the value to session
                alert($.session.get("userName"));
            });
        </script>
    </head>

这是jQuery.session.js脚本...

(function ($) {
    $.session = {
        _id: null,
        _cookieCache: undefined,
        _init: function ()
        {
            if (!window.name) {
                window.name = Math.random();
            }
            this._id = window.name;
            this._initCache();
            // See if we've changed protcols
            var matches = (new RegExp(this._generatePrefix() + "=([^;]+);")).exec(document.cookie);
            if (matches && document.location.protocol !== matches[1]) {
                this._clearSession();
                for (var key in this._cookieCache) {
                    try {
                        window.sessionStorage.setItem(key, this._cookieCache[key]);
                    } catch (e) {
                    }
                    ;
                }
            }
            document.cookie = this._generatePrefix() + "=" + document.location.protocol + ';path=/;expires=' + (new Date((new Date).getTime() + 120000)).toUTCString();
        },
        _generatePrefix: function ()
        {
            return '__session:' + this._id + ':';
        },
        _initCache: function ()
        {
            var cookies = document.cookie.split(';');
            this._cookieCache = {};
            for (var i in cookies) {
                var kv = cookies[i].split('=');
                if ((new RegExp(this._generatePrefix() + '.+')).test(kv[0]) && kv[1]) {
                    this._cookieCache[kv[0].split(':', 3)[2]] = kv[1];
                }
            }
        },
        _setFallback: function (key, value, onceOnly)
        {
            var cookie = this._generatePrefix() + key + "=" + value + "; path=/";
            if (onceOnly) {
                cookie += "; expires=" + (new Date(Date.now() + 120000)).toUTCString();
            }
            document.cookie = cookie;
            this._cookieCache[key] = value;
            return this;
        },
        _getFallback: function (key)
        {
            if (!this._cookieCache) {
                this._initCache();
            }
            return this._cookieCache[key];
        },
        _clearFallback: function ()
        {
            for (var i in this._cookieCache) {
                document.cookie = this._generatePrefix() + i + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
            }
            this._cookieCache = {};
        },
        _deleteFallback: function (key)
        {
            document.cookie = this._generatePrefix() + key + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
            delete this._cookieCache[key];
        },
        get: function (key)
        {
            return window.sessionStorage.getItem(key) || this._getFallback(key);
        },
        set: function (key, value, onceOnly)
        {
            try {
                window.sessionStorage.setItem(key, value);
            } catch (e) {
            }
            this._setFallback(key, value, onceOnly || false);
            return this;
        },
        'delete': function (key) {
            return this.remove(key);
        },
        remove: function (key)
        {
            try {
                window.sessionStorage.removeItem(key);
            } catch (e) {
            }
            ;
            this._deleteFallback(key);
            return this;
        },
        _clearSession: function ()
        {
            try {
                window.sessionStorage.clear();
            } catch (e) {
                for (var i in window.sessionStorage) {
                    window.sessionStorage.removeItem(i);
                }
            }
        },
        clear: function ()
        {
            this._clearSession();
            this._clearFallback();
            return this;
        }
    };
    $.session._init();
})(jQuery);

请让我知道此代码是否适合您。

我只是将设置重置为出厂默认设置 - 做到了。

相关内容

最新更新