KRL搜索多个域的注释规则,为每个域插入div,无论域是否匹配

时间:2012-09-06 19:20:56

标签: krl

我的KRL搜索注释规则集包含4-5个规则,每个规则都根据搜索结果中的域进行注释。我得到了很好的结果,因为注释几乎就是应该的时间和地点。但是,当我查看浏览器中的源代码时,每个规则都会在html中插入一个div,无论该域是否应该发生任何注释。页面上没有任何内容可供建议,但我不想添加任何不必要的代码并保持这一点。

有没有办法可以指示那些没有注释结果的规则不会将任何代码放入页面?(顺便说一下 - 现在我正在使用所有本地数据 - 我将是稍后在远程调用之后进行测试并意识到将解决此问题)。

我的两条规则:

rule search_annotate_party is active {
select using "google.com|bing.com/search|search.yahoo.com/search" setting()
every {
  emit <<
    function annotate_party(toAnnotate, wrapper, data) {
      if (data.domain == "www.mydomain.com" ) {
        wrapper.append("<div style='border: 1px dashed orange'><a href='http://www.mydomain.com/search.do?query=some+product' target='_blank'><img src=https://dl.dropbox.com/u/3287029/product_image.png width='100%'></a></div>");
        wrapper.show();
      }
    }
  >>;
  annotate:annotate("party") with
    annotator = <| annotate_party |>;
  }
}

rule search_annotate_jiffy is active {
select using "google.com|bing.com/search|search.yahoo.com/search" setting()
every {
  emit <<
    function annotate_jiffy(toAnnotate, wrapper, data) {
      if (data.domain == "www.hisdomain.com" ) {
        wrapper.append("<div style='border: 0px solid red'><img    src=http://dl.dropbox.com/u/3287029/company_logo.jpg>");
        wrapper.show();
      }
    }
  >>;
  annotate:annotate("jiffy") with
    annotator = <| annotate_jiffy |>;
  }
}

0 个答案:

没有答案