3

ユーザーのために保持したい値を追跡するのに役立つ証跡が必要です。ユーザーが自分の名前を入力していない場合は、検索に使用する名前を入力するためのフォームを表示したいと考えています。

名前がトレイルにあるかどうかを確認できるようにしたい。名前が証跡にある場合は、そのユーザーのデータを表示します。名前がトレイルにない場合は、名前を入力するためのフォームを表示したいと思います。

これをどのように達成するかについての助けを探しています。構造体をjsonとしてエンコードし、それをトレイルにプッシュしてから検索することが提案されました。これがどのように行われるかについてのいくつかの指示は役に立ちます。以下を使用しますか?

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

1 に答える 1

3

後で使用するために単純な文字列を保存したいだけの場合は、エンティティ変数を使用して次のようなことができます

pre ブロックで、エンティティ変数から保存された名前を取得します。

savedName =  ent:userName || "";

postludeで、エンティティ変数を保存またはクリアします。

set ent:userName userName;
clear ent:userName;

サンプルアプリ => https://gist.github.com/722849

ブックマークレットの例 => http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-persistant-trail-bookmarklet.html

http://example.comの結果での実行例

  • example.com での最初の実行

example.com での最初の実行

  • 送信をクリックした後

送信をクリックした後

  • ページをリロードしてアプリを再度実行する

ロード後にアプリを再度実行する

  • yahoo.com で実行してトレイルをクリアする

代替テキスト

  • 名前を保存する前、または消去した後に yahoo.com でアプリを実行する

代替テキスト

注:年齢のようなものを保存したい場合は、次のような別のエンティティ変数を使用できます。

ent:userAge

空は限界です。; )

于 2010-12-01T03:01:45.913 に答える