如何在浏览器中从未格式化的数据创建表?

时间:2011-06-07 18:52:12

标签: javascript formatting tabular

我有一个生成的日志文件,并记录了实用程序访问的时间戳。该日志与此

类似
Fri May 27 12:43:48 PDT 2011      user1 command1 1 2 3
Fri May 27 12:43:50 PDT 2011      user1 command2 abcdef   12  11
Fri May 27 12:44:00 PDT 2011      user1 command3
Fri May 27 12:45:12 PDT 2011      user1 command4

我通过浏览器访问此文件以检查活动。

由于文件是文本文件,因此不太容易阅读。

是否可以(使用Javascript?)在浏览器中加载后修改文件,以便时间戳用户名命令是显示在表的三列中,原始文件不受影响?

如果重要,我使用的是Chrome 12,因此任何特定于浏览器的解决方案都可以使用。

1 个答案:

答案 0 :(得分:2)

您可以编写一个JavaScriptlet(浏览器栏中的javascript:URL快捷方式),它可以执行以下操作:

(function() {
  var lines = document.body.innerHTML.split(/\r?\n/)
    , table = "<table>", line, i;
  for (i=0; i<lines.length; i++) {
    line = lines[i].split(/\s+/);
    table += "<tr>";
    table += "<td>" + line.slice(0, 6).join(' ') + "</td>";
    table += "<td>" + line[6] + "</td>";
    table += "<td>" + line.slice(7).join(' ') + "</td>";
    table += "</tr>";
  }
  table += "</table>";
  document.body.innerHTML = table;
})();

因此,只需将所有内容压缩到一行,并将快捷方式保存为“javascript:[code here]”即可。理论上。我没试过。