Как создать таблицу из неформатированных данных в браузере? - PullRequest
1 голос
/ 07 июня 2011

У меня есть файл журнала, который генерируется и записывает метки времени доступа к утилите.Журнал выглядит примерно так:

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 Ответ

2 голосов
/ 07 июня 2011

Вы можете написать JavaScript-код (ярлык 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] "и это должно работать.Теоретически.Я не пробовал это.

...