简体   繁体   中英

Using “seen” on a trail in KRL

I want to have a trail that helps keep track of values I want to persist for users. If a user has not entered their name, I want to display a form for them to enter their name to use for lookups.

I want to be able to check if the name is on the trail. If the name is on the trail then display the data for that user. If the name is not on the trail then I want to display a form for them to enter their name.

I am looking for some help on how I would accomplish this. It was suggested to encode a struct as json and pushing that on to a trail and then search for it. Some direction on how this would be done would be helpful. Would I use the following?

if seen ent:user_data with <regexp> then {
   <get and show data>
} else {
   <show form to user>
}

If you just want to save a simple string for later then you can do something like the following using an entity variable

in the pre block retrieve saved name from entity variable:

savedName =  ent:userName || "";

in the postlude save or clear the entity variable:

set ent:userName userName;
clear ent:userName;

Example app => https://gist.github.com/722849

Example bookmarklet => http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-persistant-trail-bookmarklet.html

Example run on http://example.com results

  • first run on example.com

首先在example.com上运行

  • after clicking submit

点击提交后

  • reloading the page and running the app again

在roload之后再次运行应用程序

  • clearing trail by running on yahoo.com

替代文字

  • running app on yahoo.com before saving name or after clearing

替代文字

Note: When you want to save something else like an age, you can just use a different entity variable like

ent:userAge

The sky is the limit. ; )

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM