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

标签 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?)在浏览器加载后修改文件,以便 timestampusernamecommand分三列显示,原文件不受影响?

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

最佳答案

您可以编写一个 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]”,它应该可以工作。理论上。我没试过。

关于javascript - 如何在浏览器中从未格式化的数据创建表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6270174/

相关文章:

c# - 单击按钮(而不是单击单元格)更改 dataGridView 单元格格式

json - 使用 jq 以人类可读格式打印 JSON 数组

Rmarkdown 并排表格间距

mysql - 如何对齐右调整的列

javascript - 暂停和重新启动按钮不起作用

javascript - 奥杜 v16 : assets-frontend Error after uninstall custom module (migrated from v13)

ios - iOS 中以电话号码格式 XXX-XXX-XXXX 自动格式化 UITextfield

html - 一表多列(table in columns)

javascript - 在 IE 中将 c# 文本框作为 javascript 参数传递(Chrome 有效)

javascript - JQUERY 显示和隐藏无法正常工作