网站如何显示 "help" 块,直到用户单击 X 以不再看到它们

How do websites show "help" blocks until the user clicks X to not to see them again

在您访问的某些网站上,它们会提供说明或帮助,或者计算您关闭某个 help/insight 的次数。他们通常是用 cookie 完成的,更新用户个人资料的数据库记录还是什么?

我正在使用的网络应用程序有一个要执行的步骤的项目符号列表。客户要求它是可关闭的,而不是像现在这样可折叠的(用户每次点击页面时都必须将其最小化)。通常我只是更新用户的个人资料,其中一列可能是 showHelpText 和一个位值。

由于这是每页设置,我正在考虑创建一个映射 table,我可以查询搜索 cgi.script_name (Adobe CGI Server Variables) 和 userID.如果记录存在,则不显示帮助。如果没有找到记录,则显示帮助文本。有没有更有效的方法来完成这个。由于用户可能使用不同的 devices/pc/tablets/etc,因此 Cookie 已失效。再次显示帮助不是此请求的一部分。

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

伪装 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 对象可以处理默认值,这意味着您不需要固定的首选项模式。鉴于本地存储实际上只是一个键值存储,您只需要数据库中的一列来存储大型文本字段。