javascript - 浏览器 - 强制重新加载删除cookie?

标签 javascript jquery cookies browser refresh

我创建了一个带有选择输入的页面来更改正在使用的 jQuery UI 主题。当主题更改时,它会存储在 cookie 中。页面加载时,如果 cookie 存在,则恢复主题,否则加载默认主题。

当我使用 F5 刷新页面时,我的代码确实可以工作,但如果我使用 ctrl + F5 强制完全重新加载,则不会。是我代码的问题还是正常的效果?

如果需要的话,这是我的代码:

(function($) {

    $(function() {

        var $themeSelect = $('#themeSelect');

        var initialTheme = $.cookie('theme');

        $themeSelect.on('change', function() {
            var dir = 'jQueryUI/css/' + $themeSelect.val();            
            $('#uiThemeA').attr('href', dir + '/jquery-ui.min.css');
            $('#uiThemeB').attr('href', dir + '/jquery.ui.theme.css');
            $.cookie('theme', $themeSelect.val());
        });

        if(initialTheme !== undefined) {
            $themeSelect.children().each(function(index, element) {
                var $element = $(element);
                if($element.attr('selected')) {
                    $element.removeAttr('selected');
                }
                if($element.attr('value') === initialTheme) {
                    $element.attr('selected');
                }
            }).trigger('change');
        } else {
            $.cookie('theme', $themeSelect.val());
        }

    });

})(jQuery);

感谢您的帮助!

最佳答案

我发现了问题:

我的代码中有一个错误:

if($element.attr('value') === initialTheme) {
    $element.attr('selected');
}

应该是:

if($element.attr('value') === initialTheme) {
    $element.attr('selected', 'selected');
}

不,强制重新加载不会删除 cookie

关于javascript - 浏览器 - 强制重新加载删除cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17888882/

相关文章:

javascript - json_encode 将空数组放在 json 末尾

javascript - 如何修复我的进度条以防止出现故障?

javascript - Datepicker打开有些问题

jquery - 使 DIV 位于浏览器窗口的右上角。它应该留在那里,即使重新调整窗口大小时也不会移动?

windows - Web 应用程序 Kerberos 身份验证 : Is the proper way to combine with cookies?

ruby - 在多线程环境中跨不同请求共享( Mechanize ) session ?

Javascript 检测被破坏的参数

javascript - 当 AngularJS 中的模型更新时, View 不会更新

javascript - Jquery:如果需要,动态更改 anchor 数据属性

php - 使用 AngularJS 和 PHP 创建跨子域 cookie/session