2010-12-04 95 views
2

我有一條線索用於跟蹤KRL中的應用歷史記錄。我正在尋找一種簡單的方法來調試線索,包括查看線索上的內容並將其清除。如何檢查KRL中的路徑並與其進行交互?

在KRL有沒有簡單的方法來做到這一點?

+0

一定要接受的答案,如果它的工作原理,它是最好的答案。 – 2010-12-06 00:13:11

回答

2

對我來說,查看路徑的最簡單方法是將其內容輸出到瀏覽器控制檯。運行規則集幾次後

rule inspect_data_on_trail { 
    select when pageview ".*" 
    pre { 
    visitedDomains = ent:visitedDomains; 
    } 
    { 
    emit <| 
     console.log(visitedDomains); 
    |>; 
    } 
} 

螢火蟲輸出:

alt text

要清除實體變量,包括創新,我通常只寫在一個域,是不是我的應用程序的一部分,選擇一個規則體驗並清除應用程序在該域上運行時的變化。

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; 
    } 
    } 

} 
+0

+1,很好的回答! – Alex 2010-12-04 22:47:13

相關問題