代码之家  ›  专栏  ›  技术社区  ›  JamesEggers

JavaScript Cookie仅在IE6中返回空值

  •  1
  • JamesEggers  · 技术社区  · 16 年前

    我有一个页面,从查询字符串中获取一个值并将其添加到cookie中。该值用于页面上的两个不同项目。如果用户返回页面,并且该值不在查询字符串中,则该值将从cookie中提取。

    我尝试过用JavaScript进行我自己的cookie设置和检索,现在也使用jQuery cookie插件( http://plugins.jquery.com/project/Cookie

    我查看了Firefox中的cookie信息,没有看到任何超出我设置的2个整数值的内容。

    关于IE6中可能导致这种情况的原因有什么想法吗?

    我将代码之外的测试转换为基本的html。下面是标记。在IE6(IETester)中返回null的结果相同。

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Untitled Page</title>
        <script type="text/javascript" src="Scripts/jquery-1.3.2.js"></script>
        <script type="text/javascript" src="Scripts/jquery.cookie.js"></script>
        <script type="text/javascript">
            $(document).ready(function()
            {
               var testId = GetQueryStringValue("test");
    
               if (testId == "")
               {
                    testId = $.cookie("test");
                    alert(testId);
               } 
               else
               {
                    $.cookie("test", testId);
                    alert("Test set");
               }
    
                document.write(testId);
            });
    
            function GetQueryStringValue(name)
            {    
                var regex = new RegExp("[?&]" + name + "(?:=([^&]*))?","i");   
                var tmpURL = window.location.href;    
                var results = regex.exec( tmpURL );    
    
                if (results == null)
                {
                    return ""; 
                }
                else
                {
                    return results[1];
                }
            }
        </script>
    </head>
    <body>
    
    </body>
    </html>
    
    1 回复  |  直到 16 年前
        1
  •  5
  •   NickFitz    16 年前

    运行IE 6的机器是否将其安全设置设置为拒绝cookie?或者,如果您正在使用各种技术中的一种,假定这些技术允许您在同一台机器上运行多个版本的IE,请注意,结果并不完美,并且通常会导致浏览器的细微方面在一个或多个版本上中断:例如,请参阅 this comment on Tredosoft's Multiple IE page