JQuery cookie для переключателей не работает для Internet Explorer - PullRequest
0 голосов
/ 16 июня 2011

Я создал страницу переключения, к которой большинство пользователей обращаются через Internet Explorer, только файл cookie, который должен сохранять последнее состояние переключателей, не работает. Я попытался использовать исправление «Интеллектуальная черепаха», которое только нарушило функциональность переключения. А после прочтения информации о куки-файлах на сайте W3C у меня появилось выражение «олень в свете фар».

Мои проблемы:

  1. Последнее состояние не работает в браузере Internet Explorer любой версии.
  2. Я бы хотел, чтобы состояние сохранялось и никогда не истекало ни в одном браузере.

JS:

    /toggle/
    $(document).ready(function(){
    $(".toggle_container").show();
    $("h2.trigger").toggle(function(){
    $(this).addClass("active"); 
    }, function () {
    $(this).removeClass("active");
    });
    $("h2.trigger").click(function(){
    $(this).next(".toggle_container").slideToggle("slow,");
    });
    });

    /cookies/
    $(".toggle_container").each(function() {
    $(this).toggle($.cookie('show-' + this.id) != 'collapsed');
    });
    $(".trigger").click(function () {
    var tc = 
    $(this).toggleClass("active").next(".toggle_container").slideToggle("slow", function() {
    $.cookie('show-' + $(this).attr("id"), $(this).is(":hidden") ? 'collapsed' : 'expanded');        
    });
    return false;
    });

HTML с требованием работодателя:

        <h2 class="trigger"><a href="#">Production</a></h2>
<div class="toggle_container" id="pd">
    <div class="block">
        <table cellspacing="0" cellpadding="0" border="0">
            <tr>
                <td>Staff</td>
                <td>PD</td>
                <td><a href="https://snip/">https://snip/</a></td>
            </tr>
            <tr>
                <td>Service</td>
                <td>PD</td>
                <td><a href="https://snip/">https://snip/</a></td>
            </tr>

Заранее спасибо за помощь.

Ответы [ 2 ]

1 голос
/ 23 августа 2012

Я нашел решение моей проблемы, которое похоже. Я забыл положить { path: "/" } дюйма

$.cookie("DoNotShowGettingStartedDialog", true, { path: "/" });
0 голосов
/ 16 июня 2011

Я бы порекомендовал использовать последний плагин jQuery cookie из https://github.com/carhartl/jquery-cookie. Версия на странице плагина jQuery устарела.

...