【问题标题】:Avoid page refresh and add values to javascript session? [closed]避免页面刷新并向 javascript 会话添加值? [关闭]
【发布时间】:2013-09-25 03:56:17
【问题描述】:

我想将两个产品添加到此站点上的比较队列 (http://www.phonearena.com/phones/manufacturers/Samsung) 如果您将鼠标悬停在手机上并单击“比较+”,它将添加到 java 脚本或浏览器会话,如果您打开另一个页面并单击下一个任何移动设备的“比较+”按钮,它会添加到比较队列中,您以后可以使用它来比较两部手机。 我想知道我应该怎么做才能实现这个功能。我的 Web 应用程序是在 MVC3 中开发的,我想以这种方式比较我的两个产品。

我只是需要一些帮助来解决这个问题。 谢谢

【问题讨论】:

  • 可以接受 cookie 吗?如果是这样,请将您的选择状态存储在站点的会话 cookie 中。
  • 或本地存储。两者都行。
  • @KirkB.:是的,cookie 是可以接受的。我只想知道这个功能的最佳方式是什么。你有什么建议?
  • @MikeRobinson:HTML5 本地存储?还是浏览器会话?
  • HTML5...老实说,你使用什么并不重要。 @KirkB 建议使用 cookie 最简单、最可靠的解决方案。您真正需要做的就是记住产品 ID 列表。

标签: javascript jquery asp.net-mvc-3


【解决方案1】:

您将如何使用 cookie:

document.cookie = "mobile1=" + mobile1;

然后你可以像这样检索它:

mobile1 = document.cookie

【讨论】:

  • 我一定会尝试的。
  • 这种方法可能对您有用,但是当您检索 cookie 值时,您实际上通过该调用获取了您网站的所有 cookie。您是否只打算为您的网站使用一个 cookie?如果是这样,那很好。 $.cookie 插件为您解决这些问题。
  • @KirkB。我可以从特定路径检索 cookie 吗?我可以在 onclick 比较按钮调用时删除现有的 cookie。
  • 我想你可以两者兼得。这是一个类似的问题,一些解决了使用路径设置 cookie 的问题:stackoverflow.com/questions/7487210/…
  • 这是一个问题,他们使用 jQuery cookie 插件解决了明确的路径:stackoverflow.com/questions/9326620/jquery-cookie-path
【解决方案2】:

给予

http://plugins.jquery.com/cookie/

试一试。比如:

if ($.cookie("choices"))
{
    // have previous choice, so handle comparison display and reset state

    // ...

    $.removeCookie("choices");
}
else
{
    $.cookie("choices", "key of first product");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-10
    • 2012-04-04
    • 2014-03-11
    • 1970-01-01
    • 2021-10-18
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多