KRL でアプリの履歴を追跡するために使用している証跡があります。現在トレイルにあるものを確認してクリアするなど、トレイルをデバッグする簡単な方法を探しています。
KRLでそれを行う簡単な方法はありますか?
KRL でアプリの履歴を追跡するために使用している証跡があります。現在トレイルにあるものを確認してクリアするなど、トレイルをデバッグする簡単な方法を探しています。
KRLでそれを行う簡単な方法はありますか?
私にとって、追跡の内容を確認する最も簡単な方法は、その内容をブラウザーのコンソールに出力することです。
rule inspect_data_on_trail {
select when pageview ".*"
pre {
visitedDomains = ent:visitedDomains;
}
{
emit <|
console.log(visitedDomains);
|>;
}
}
ruleset を数回実行した後の firebug の出力:
証跡を含むエンティティ変数をクリアするには、通常、アプリのエクスペリエンスの一部ではないドメインを選択するルールを記述し、アプリがそのドメインで実行されたときに変数をクリアします。
rule clear_everything {
select when pageview "yahoo\.com"
{
notify("Cleared",":)") with sticky = true;
}
fired {
clear ent:visitedDomains;
}
}
完全なサンプルアプリ:
ruleset a60x458 {
meta {
name "trail-debugging"
description <<
trail-debugging
>>
author "Mike Grace"
logging on
}
rule put_data_onto_trail {
select when pageview ".*"
pre {
domain = page:url("domain");
}
{
notify("Thanks for visiting #{domain}","You visit has been recorded") with sticky = true;
}
fired {
mark ent:visitedDomains with domain;
}
}
rule inspect_data_on_trail {
select when pageview ".*"
pre {
visitedDomains = ent:visitedDomains;
}
{
emit <|
console.log(visitedDomains);
|>;
}
}
rule clear_everything {
select when pageview "yahoo\.com"
{
notify("Cleared",":)") with sticky = true;
}
fired {
clear ent:visitedDomains;
}
}
}