使用javascript在firefox中grep一个页面

Ben*_*Ben 7 javascript firefox firefox-addon

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

设置了扩展样板.

想知道我是否可以得到一些关于所需的javascript的提示.在功能之后:

function grepPage(regex){
...
}
Run Code Online (Sandbox Code Playgroud)

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

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

任何帮助将受到高度赞赏.

干杯,本

Rob*_*ams 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.

}
Run Code Online (Sandbox Code Playgroud)

警告,未经测试,但它应该工作.:)