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

时间:2018-08-06 03:30:26

标签: coldfusion lucee

在您访问的某些网站上,它们会提供说明或帮助,或者计算您取消帮助/见解的次数。通常是用Cookie完成,还是更新用户个人资料的数据库记录?

我正在使用的Web应用程序有一个项目符号列表,列出了要执行的步骤。客户端要求它是可消除的,而不是像现在这样可折叠的(用户每次访问该页面时必须将其最小化)。通常,我只是更新用户的个人资料,其中某个列可能是showHelpText并带有位值。

由于这是每页设置,因此我正在考虑创建一个映射表,我可以查询搜索cgi.script_nameAdobe CGI Server Variables)和userID。如果有记录,请不要显示帮助。如果未找到任何记录,请显示帮助文本。有没有更有效的方法来完成此任务。由于用户可能使用了不同的设备/个人计算机/平板电脑/等,因此Cookie消失了。再次显示帮助不是此请求的一部分。

1 个答案:

答案 0 :(得分:2)

我认为在这种情况下,我会使用local storage api并在数据库中的用户记录中添加一个名为'ui_preferences'的字段,这将是本地存储值的副本,如果值不存在,您可以提取它,以允许值在设备之间传播。

Psuedo 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对象可以处理默认值,这意味着您不需要为首选项设置固定的架构。鉴于本地存储实际上只是键值存储,所以您只需要在数据库中存储一列大文本字段即可。