为什么我的 jquery cookie 无法跨多个页面使用?

2023-11-22

本周我研究并组合了一些 jquery(这是我第一次使用 jquery)来控制自定义 WordPress sidebar.php 文件中的可折叠菜单。菜单是动态生成的,使用 wp_query 通过自定义分类法和自定义排序顺序等来选择和排序自定义帖子类型(因此没有插件解决方案)。

我想在网站访问者浏览内容时保持菜单部分的展开/折叠状态。使用jquery,我似乎成功地将唯一的cookie名称写入浏览器,并且我似乎成功传递了标签的“展开”或“折叠”类值。

但是,cookie 不能跨多个页面工作 - 如果您导航到另一个页面,则在您单击菜单项之前不会设置新的 cookie。如果您点击后退浏览器并返回上一页,您的 cookie 会设置在上一页上are仍然设置(这很好)。请注意,当导航到新页面时,菜单会重新生成,但菜单内容很少更改(因此 ID 是稳定的),并且 cookie 仅适用于当前会话(并且仍应保留前一页的内容) 。

我尝试过设置 PHP cookie,它们在各个页面上都保持得很好。但我的 jquery cookie 似乎是特定于页面的,所以我做错了。

这是出现在我的 PHP 页面中的 jquery 代码,用于控制菜单并写入我的 cookie(注意:我am链接到 jquery.cookie.js 插件):

        <script type="text/javascript">
        $(document).ready(function() {
            setTimeout(function() {
                $('#port-menu > li > a.expanded + ul, #port-menu > li ul li > a.collapsed + ul').slideToggle('medium');
                $('#port-menu > li > a').click(function() {
                    $(this).toggleClass('expanded').toggleClass('collapsed').parent().find('> ul').slideToggle('medium');
                    var vartag = $(this).get(0).tagName.toLowerCase();
                    var varclass = $(this).attr('class');
                    var cookiename = $(this).parent().attr('id');
                    $.cookie(cookiename, $(this).attr('class'));
                });
                $('#port-menu > li ul li > a').click(function() {
                    $(this).toggleClass('expanded').toggleClass('collapsed').parent().find('> ul').slideToggle('medium');
                    var vartag = $(this).get(0).tagName.toLowerCase();
                    var varclass = $(this).attr('class');
                    var vargenre = $(this).parent().parent().parent().attr('id');
                    var varoutlet = $(this).parent().attr('id');
                    var cookiename = vargenre + varoutlet;
                    $.cookie(cookiename, $(this).attr('class'));
                });
            }, 250);
        });
    </script>

例如,动态创建的 cookie 名称和值如下所示:

流派2:折叠

流派3:扩展

类型 1 出口 2:扩展

流派2outlet3:扩展

流派2outlet4:扩展

正如上面提到的,我是 jquery 的新手。我对使用 cookie 也很陌生。任何帮助将不胜感激。

附:一旦我开始工作,我不知道如何从我的 cookie 数组中获取信息并将这些类应用到我的菜单中 - 但这是一个单独的问题。


我认为你应该尝试指定一个path。它可能看起来像这样:

$.cookie(cookiename, $(this).attr('class'), { path: '/' });

然后,当您设置一次 cookie 后,它将可用于所有网站。默认路径是设置cookie的子页面路径。在这种情况下,cookie 仅适用于该子页面。

这条规则(我的意思是路径)一般适用于 cookie。Not only那些由 jQuery 创建的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 jquery cookie 无法跨多个页面使用? 的相关文章

  • 动态添加案例到交换机

    我需要动态地将案例添加到交换机 我希望用户能够添加项目 并且每个项目都需要它自己的开关盒 您可以使用带有回调函数的对象 You can have initial cases var callbacks something gt 42 and
  • 未捕获的 TypeMismatchError:无法在“CanvasRenderingContext2D”上执行“drawImage”

    我对以下代码片段有疑问 var o inserted motive find span contains document documentElement o 0 b fillText m i h b drawImage d i h e f
  • 实现悬停信息框

    我有一个日历 当用户将鼠标悬停在单元格上时 会出现一个很大的信息框 其中包含该日期的详细信息 虽然当用户离开时使信息框消失 但我遇到了一些麻烦 我基本上想要它 这样当鼠标光标移出信息框隐藏的日历单元格时 它就会消失 但我遇到了麻烦 因为mo
  • 在多个动态添加的表单上初始化 jQuery validate() 函数

    有人建议最好初始化一个 form validate 在页面加载而不是点击事件上运行 jquery form validate 插件仅允许在输入更改时提交 https stackoverflow com questions 10984196
  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • 发送 POST 请求时 JSON 原语无效

    我有以下 ajax 请求 其中我尝试将 JSON 对象发送到服务器 function sendData subscriptionJson ajax type POST url Url Action SubscribeSecurities S
  • 如何使用Jquery获取MS下拉列表的选定值

    我在我的 MVC 项目中使用了 MS 下拉列表 现在我想使用 Jquery 获取 MS 下拉值 如何才能做到这一点呢 Country msDropdown 我想使用 JQuery 获取 INDIA 的选定值 var countryName
  • 搜索多维数组 JavaScript

    我有一个如下所示的数组 selected products 0 r1 7up 61 Albertsons selected products 1 r3 Arrowhead 78 Arrowhead selected products 2 r
  • 在一个项目中使用多个 Javascript 框架?

    在一个项目中使用多个框架是好是坏 还是不好 因为它会变得混乱 一团糟 并且加载时间可能会更长 100 K 真的很重要吗 或者你应该坚持使用一个 通常最好选择一件事并坚持下去 原因有很多 更少的依赖 降低复杂性 更容易维护 更快的加载时间 不
  • jQuery Find() 和 XML 在 IE 中不起作用

    我正在尝试使用 jQuery 来解析内存中的 XML 文档 除了 IE 之外 这在所有东西上都很有效 令人震惊 一些谷歌搜索显示 问题很可能是由于 IE 将我的文档视为 HTML 而不是 XML MIME 类型 有没有办法让我的 jQuer
  • 输入类型=图像 - onclick(),将触发其事件,但在 jquery 中的函数上表现不佳

    我认为这可能是两篇文章 2个问题 所以如果你对此发表评论 我会将它们分开 主要问题实际上是 我怎样才能为按钮设置图像背景 简单且正确 我想现在我可以确定这些事实了 因为我在将图像设置为按钮背景时遇到了 小 问题 我想 好吧 如果很难设置的话
  • 如何保留数组的重复项

    在 Javascript 中 我试图只将重复项保留在数组中 例如我的初始数组是 1 1 2 3 3 3 3 4 5 5 结果应该是 1 3 5 我尝试过使用 indexOf 和 inArray 但无法弄清楚 我知道如何删除重复项 但保留它们
  • 如何禁用“您是否只想查看安全传送的网页内容”警告?

    我的网站有完整的 https 及其使用外部 jquery 资源 即 http 在 IE 8 中 当我重定向网站时 它给了我 您只想查看安全传送的网页内容 警告 如何避免这种情况 有没有可用的脚本可以解决这个问题 提前致谢 似乎有两个可能的问
  • 锚标记的 onclick 未在 jsfiddle 中执行简单的 jQuery 函数

    我正在关注在线 jQuery 教程 但无法让此标记在 jsfiddle 中工作 div style padding 50px background color 89BC38 text align center display none b
  • Spring安全“记住我”cookie在第一个请求中不可用

    我无法在登录请求后检索 Spring 记住我 cookie 但它在对受保护页面的下一个请求中工作正常 谁能告诉我怎样才能立即得到它 我在登录请求中设置了记住我的 cookie 但在 Spring 重定向回原始 受保护的 url 后无法检索它
  • 无法将数据加载到 mvc 4 中的 jTable 中

    好的 我第一次尝试 jTable 我可以加载表 但这对我没有什么好处 因为它不会加载我的任何数据 当我调试程序时 我想要的表中的所有行都存储在我的列表中 因此我很困惑为什么当我运行应用程序时会弹出一个对话框 显示 与服务器通信时发生错误 H
  • 如何在ASP.NET Webform中使用Jquery表单插件?

    我遇到了这个插件 http malsup com jquery form getting started http malsup com jquery form getting started 我想知道如何在 ASP NET WebForm
  • JQuery 验证在 IE8 中不起作用

    我使用 JQuery 验证脚本来验证 HTML 表单 这在 Firefox 中完美运行 但在 IE8 中不起作用 我认为冒号 或分号 有问题 但我无法抓住它 jQuery validator addMethod selectNone fun
  • 当用户单击链接时,如何记录 MixPanel 事件?

    当用户单击某种类型的链接时 我试图在 MixPanel 中记录一个事件 我正在使用 JQuery 不引人注意地完成此操作 据我所知 我需要添加一个回调函数 以便在记录事件后将用户带到 URL 这是我正在使用的代码 不幸的是
  • Jquery - 通过在字符串中构建 id 的 id 获取元素

    我在使用 jquery 元素时遇到问题 我正在 var 中构造名称 例如 var myId myGotId myId attr title changed myId 返回空 我想通过 id 获取我的元素 但动态构建我的 Id 连接字符串 编

随机推荐

  • DataGridView SelectionChanged 事件多次触发

    在我的应用程序中 我使用 DataGridView 来显示列表 当用户在数据网格视图中选择一条记录时 它应该在另一个面板中显示详细信息 对于选择 我被要求使用 DataGridView1 SelectionChanged 事件 DataGr
  • Android:如何从收到的短信中获取电话号码?

    我有一个广播接收器 SMSApp 它的 onReceive 会从意图中读取bundleExtras 在这里 我如何从bundleExtras中读取电话号码 if intent getAction equals SMS RECEIVED Bu
  • 本地报表处理期间发生错误。报表的定义“无效”

    我是使用 SSRS 的新手 我正在使用一个 rdlc文件用于使用 VS 2012 生成 PDF 报告 当我尝试设置如下参数时 ReportParameter param new ReportParameter kvp Key kvp Val
  • Gnuplot PDF 终端在 Mac 上出现字体问题

    出乎意料的是 我的 Gnuplot 开始出现问题pdfcairo终端 生成的 PDF 文件中的字体被卡住 就好像各个字符的宽度被设置为零一样 我在 Mac OS 上使用 Gnuplot 5 2 7 通过自制程序安装 这里是一个最小的不起作用
  • java.lang.ClassNotFoundException:在更新 sdk 后未在路径上找到类: DexPathList

    大家好 我的应用程序一直工作正常 直到昨天 我昨天更新了我的 SDK 它首先开始出现错误 然后出现错误 在值 v24 处找不到资源 像这样的事情我通过更改 build gradle 中的以下行来搜索并解决它 compileSdkVersio
  • iPhone:如何使用平移手势移动状态栏

    就像 Instagram 探索 选项卡一样 当我滚动内容时 状态栏也会移动 总是打电话全屏滚动 like here 当用户滚动tableView时 NavigationBar TabBar同时滚动显示或隐藏 我的问题是 不仅是Navigat
  • SRV 记录的 Java DNS 查找

    在下面的 java 代码中 我进行 DNS SRV 记录查找 以解析给定域名 例如 root 1000000000 blubluzone com 的目标域名和关联端口 用 表示的查找函数HERE 下面以某种方式返回 null 我无法获得查询
  • 为什么我必须在所有响应中传递 RequestContext?

    我想在导航菜单中突出显示当前页面 显然 当您在菜单链接的页面上时 我需要为菜单链接提供一个类似 活动 的类 这是一个经典问题 我见过很多解决方案proposed 我的问题是我讨厌他们所有人 并且认为他们都不是很干 例如 register s
  • 将图像内容从相机加载到文件

    我正在使用phonegap API使用以下指令拍照 或从库中选择 MyApp directive Camera function return restrict A require ngModel link function scope e
  • 为什么具有委派域访问权限的服务帐户仍然需要模拟?

    我正在考虑使用 OAuth 2 0服务帐户 and 域范围内的授权将我们的服务与 Google Apps 集成 一个特定的用例是 当 Google Apps 客户注册我们的服务时 请利用客户现有的组织结构或资源 组织单位 群组 设备 用户
  • 将对象与左侧的常量相乘

    我有一个Matrix类并且它已经超载了 用于标量和矩阵乘法的运算符 template
  • 等待任何未来的异步

    我正在尝试使用 asyncio 来处理并发网络 I O 大量的功能将被安排在一个点上 而每个功能完成所需的时间差异很大 然后 接收到的数据将在每个输出的单独进程中进行处理 处理数据的顺序不相关 因此考虑到输出的等待时间可能很长 我想awai
  • 根据当前时区将 UTC 日期/时间显示为日期/时间

    我从网络上获取格式为 yyyy mm dd T HH MM SS Z 的日期 时间字符串 并且采用 UTC 格式 现在我必须确定设备的当前时区 然后将该时间转换为我的当地时间 我该怎么做 仅供参考 目前 UTC 时间为上午 10 25 印度
  • 如何从 Postgres 中的动态 SQL 获取结果?

    原始表 其规则存储在名为 md formula 的表中 用于映射到目标表 删除 创建 插入raw dbs transactiondetailscash DROP TABLE raw dbs transactiondetailscash CR
  • 如何从页面加载和鼠标移动跟踪鼠标位置?

    我使用以下 JavaScript 跟踪鼠标移动 var mouseX 0 var mouseY 0 document onmousemove function e mouseX e clientX mouseY e clientY 我的问题
  • AsyncTaskLoader.deliverResult() 实际上做了什么?

    我试图理解一些更细微的观点异步任务加载器 这对其他人来说可能是显而易见的 但我找不到明确的示例或定义来演示和解释当您覆盖时会发生什么deliverResult 方法 实际交付了什么 它如何与调用对象交互 我可以看到使用super deliv
  • 为什么 Javascript 在 iPhone 上运行这么慢?

    我一直在研究为 iPhone 编写应用程序 我真的很喜欢PhoneGap它基本上允许您在应用程序中包含网页 我的技能主要是 HTML Javascript 因此这个工具使我能够充分利用我的技能 而无需花费大量时间学习如何为 iPhone 编
  • 从堆栈项目生成 Nix 包

    我有一个可以构建和安装的软件应用程序stack 我还想提供适用于 Linux 和 Mac 的二进制包 为此我正在考虑nix 因为除其他外 它可以在 Linux 和 Mac 中使用 这将省去我维护两种包类型的麻烦 阅读完有关如何nix包已定义
  • Spring Boot 骆驼测试

    我需要在 Spring Boot 应用程序中测试 Camel 路由 我有 Spring boot 主类 其中声明了所有必需的 bean 我正在使用 CamelSpringJUnit4ClassRunner class 在 ContextCo
  • 为什么我的 jquery cookie 无法跨多个页面使用?

    本周我研究并组合了一些 jquery 这是我第一次使用 jquery 来控制自定义 WordPress sidebar php 文件中的可折叠菜单 菜单是动态生成的 使用 wp query 通过自定义分类法和自定义排序顺序等来选择和排序自定