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

网站如何显示“帮助”块,直到用户单击X不再看到它们

  •  0
  • HPWD  · 技术社区  · 6 年前

    在您访问的某些网站上,他们会提供说明或帮助,或者计算您拒绝帮助/洞察的次数。它们通常是用cookie完成的,更新用户配置文件的数据库记录还是什么?

    我正在开发的web应用程序有一个要执行的步骤的项目符号列表。客户机要求它是可解散的,而不是像现在这样可折叠的(用户每次点击页面时必须将其最小化)。通常我只更新用户的配置文件,其中可能有一个列 showHelpText 有点价值。

    由于这是一个每页设置,我正在考虑创建一个映射表,以便查询搜索 cgi.script_name ( Adobe CGI Server Variables )以及 userID . 如果存在记录,不要显示帮助。如果找不到记录,请显示帮助文本。有没有更有效的方法来实现这一点。由于用户可能正在使用不同的设备/pc/tablets/etc,Cookies已退出。再次显示帮助不是此请求的一部分。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Dpolehonski    6 年前

    我想在这种情况下我会用 local storage api 并在DB中的用户记录中添加一个字段,称为“UIYP首选”,它是本地存储值的副本,如果不存在该值,则可以获取它,允许值在设备之间传播。

    普苏埃多Js;

    someCustomObject.savePreferences(uiPreferences);
    /* somewhere in the method call: */
      var uiPreferences = {'helpDialog':{'pageNameHere': true}};
      localStorage.setItem('uiPreferences', JSON.stringify(uiPreferences));
    

    所以当页面加载时你可以去;

    var uiPreference = someCustomObject.getPreference('somepreference');
    

    它可以检查本地存储的首选项,如果不存在,则为服务器ping。自定义js对象可以处理默认值,这意味着您不需要为首选项设置固定的模式。因为本地存储实际上只是一个键值存储,所以在数据库中只需要一列就可以存储一个大的ish文本字段。

    推荐文章