用于切换的jQuery cookie不适用于Internet Explorer

时间:2011-06-16 16:40:23

标签: jquery internet-explorer cookies toggle

我创建了一个切换页面,大多数用户通过Internet Explorer访问,只有应该保存切换的最后状态的cookie无法正常工作。我试图使用Intellectual Tortoise的修复程序,它只破坏了切换功能。在阅读了W3C网站上关于cookie的信息之后,我发现了一个带有鹿头灯的表情。

我的问题是:

  1. 最后一个状态在Internet Explorer浏览器中无法使用任何版本。
  2. 我希望状态能够持续存在,并且永远不会在任何浏览器中过期。
  3. 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 个答案:

答案 0 :(得分:1)

我找到了类似问题的解决方案。我忘了把{ path: "/" }放进去。

$.cookie("DoNotShowGettingStartedDialog", true, { path: "/" });

答案 1 :(得分:0)

我建议使用https://github.com/carhartl/jquery-cookie中最新的jQuery cookie插件。 jQuery的插件页面上的版本已经过时了。