使用javascript在firefox中grep一个页面

时间:2011-03-24 06:56:02

标签: javascript firefox firefox-addon

我正在编写扩展程序以在Firefox中提供grep'ing功能。在我的工作场所,我们使用浏览器访问所有日志文件,grep功能非常适合过滤结果,仅查看特定的日志记录级别(INFO,WARN,ERROR)等。

设置扩展样板。

想知道我是否可以获得所需javascript的一些提示。在功能之后:

function grepPage(regex){
...
}

将正则表达式应用于firefox中加载的文本文件中的每一行,并将加载的文本文件更改为仅显示匹配的行。

这是我可以花费多年时间尝试锻炼的东西,当我确信会有更简单的方法来做这件事。

任何帮助都将受到高度赞赏。

干杯, 本

1 个答案:

答案 0 :(得分:5)

有两种方式来看待这个。

一,你可以避免重新发明轮子: http://api.jquery.com/jQuery.grep/

二,你可以启动一个快速功能(这个例子不需要jQuery或其他库)。

function grepPage(regex) {

  var lines = document.getElementByTagName('body').innerHTML.split("\n");
  var matches = new Array();

  // Check if the regex is surrounded by slashes by checking for a leading slash
  if ( ! regex.match(/^\//) ) { regex = '/' + regex + '/'; }

  for (var i = 0; i < lines.length; i++) {
    if ( regex.test( lines[i] ) ) { matches.push(lines[i]); }
  }

  // Now the 'matches' array contains all your matches, do as you will with it.

}

警告,未经测试,但它应该有效。 :)