войти зарегистрироваться

JavaScript whois

индекс
202,36

prettyPrint

imageТе из вас кто следит за автором на Github могли заметить, что недавно он добавил новый проект под названием «prettyPrint».
«prettyPrint» — браузерный дампер переменных для Javascript аналогичный cfdump для ColdFusion. Он позволяет выводить на экран объекты любого типа в виде таблиц для просмотра во время отладки.
Посмотреть пример.

Основные моменты:


  • Полностью независим, не требует ни дополнительных CSS ни изображений.
  • Поддерживает обьекты с неограниченной вложенностью.
  • Поддерживаются все типы данных Javascript, а так же DOM элементы.
  • Защищен от рекурсивных ссылок на обьекты.
  • Позволяет задавать глубину отображения для объекта.
  • Заголовки таблиц с градиентом.
  • Позволяет кастомизацию через CSS.
  • Проверен через JSLint!

Пример использования:


var table = prettyPrint( anyRandomThing, { /*optional options object */ } );

// Making the table viewable is down to you...
// e.g.
document.body.appendChild(table);


* This source code was highlighted with Source Code Highlighter.

комментарии (16)

  • Спасибо, очень похоже на дампер для PHP — dbug.ospinto.com/examples.php
    правда более симпатично
  • Эм, а как же Firebug и console? ;)
    • Наверное уже нервно курят в углу…
    • Нагляднее выводит, например в случае массива объектов.
      • «Красота — в глазах смотрящего.»
        • Попробуйте посмотреть
          в firebug просто:
          var tmparr = [{1:1,2:3,3:3},{4:4,5:5,6:6},{7:7,8:8,9:9}];

          и в prettyPrint (прямо в консоли на странице примера):
          var tmparr = prettyPrint([{1:1,2:3,3:3},{4:4,5:5,6:6},{7:7,8:8,9:9}]);
          document.body.appendChild(tmparr);
    • Да слегка поднадоело уже в Firebug нырять. А на нетбуке это вообще не удобно.
  • Молодца. 5 баллов. Хотел сделать подобное, но чисто листинг объектов, их свойств и методов.
    Получилось вот что, но не хватает опыта в js. Было бы здорово если бы кто нить продолжил начатое.

    prinf.nnov.ru/test.php
    • кстати на основе этого дампера попробую дописать свой как время будет
  • хм.
    Здается мне, если на странице будет какая-то фатальная ошибка с JS то это чудо не заработает.

    А firebug заработает.
    • так это не для ошибок… а дампер объектов / переменных :)
      • иногда нужно дампнуть одну-две переменных, что бы найти где именно бок. Если у нас ошибка в JS, то не факт что это средство сделает дамп переменной. А firebug сделает.
  • а может стоить такую вот штуку написать для firebug?
  • Меня одного сбивает с толку такое количество разноцветных вложенных элементов?
    • Не одного. Мне кажется здесь красота в ущерб удобству. Например, совершенно необязательно выводить флаги регулярный выражений в столбик с true/false. Лучше было бы просто вывести в строчку флаги. То же самое про Date.
  • Меня улыбнуло, что среди основных моментов есть заголовки таблиц с градиентом.
    Это неоспоримое достоинство :)
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.