Как я могу написать правило, которое выбирает на всех страницах? - PullRequest
2 голосов
/ 19 ноября 2010

В KRL (язык правил Kynetx), как я могу написать оператор выбора, который выбирает на всех страницах?

Ответы [ 2 ]

2 голосов
/ 20 ноября 2010

Поскольку операторы выбора для веб-событий в KRL являются регулярными выражениями, вы можете использовать следующий оператор выбора для запуска на всех просмотренных страницах:

select when web pageview ".*"

Пример в контексте полного набора правил:

ruleset a60x425 {
  meta {
    name "test select on all pages"
    description <<
      this will select on all pageviews
    >>
    author "Mike Grace"
    logging on
  }

  dispatch { }

  rule selection_test_on_all_pages {
    select when web pageview ".*"
    {
      notify("I selected on this page!","woot!") with sticky = true;
    }
  }
}

Примечание 1: Это не решает проблему доменов отправки и расширений браузера. Это будет работать, как ожидается, при выполнении из букмарклета. Расширения браузера не попадут в выражение выбора, если только просматриваемый в данный момент домен не совпадает с доменом, установленным в блоке отправки. Этот пример домена отправки пуст, потому что я предполагаю, что приложение будет запускаться из букмарклета.

Примечание 2: Выражения выбора компилируются в регулярное выражение, поэтому важно помнить, что вам не нужно использовать формат 're //' для выражения, как вы делаете это везде, где вы используете регулярное выражение.

2 голосов
/ 19 ноября 2010
select when pageview ".*"
...