Как обнаружить ошибку в html-файле

Обновлено: 21.11.2024

До сих пор сообщения об ошибках были только упомянуты, но если вы пробовали примеры, вы, вероятно, видели некоторые из них. Существует (как минимум) два различных вида ошибок: синтаксические ошибки и исключения.

8.1. Синтаксические ошибки¶

Синтаксические ошибки, также известные как ошибки синтаксического анализа, являются, пожалуй, наиболее частым видом жалоб, которые вы получаете, пока изучаете Python:

Синтаксический анализатор повторяет ошибочную строку и отображает небольшую «стрелку», указывающую на самую раннюю точку в строке, где была обнаружена ошибка. Ошибка вызвана (или, по крайней мере, обнаружена) токеном, предшествующим стрелке: в примере ошибка обнаружена в функции print() , поскольку отсутствует двоеточие ( ':' ) перед этим. Имя файла и номер строки печатаются, чтобы вы знали, где искать, если ввод поступил из скрипта.

8.2. Исключения¶

Последняя строка сообщения об ошибке указывает, что произошло. Исключения бывают разных типов, и тип печатается как часть сообщения: типы в примере — ZeroDivisionError, NameError и TypeError. Строка, напечатанная как тип исключения, является именем возникшего встроенного исключения. Это верно для всех встроенных исключений, но не обязательно для пользовательских исключений (хотя это полезное соглашение). Стандартные имена исключений являются встроенными идентификаторами (а не зарезервированными ключевыми словами).

Остальная часть строки содержит подробные сведения о типе исключения и его причине.

Предыдущая часть сообщения об ошибке показывает контекст, в котором произошло исключение, в виде обратной трассировки стека. Как правило, он содержит трассировку стека со списком исходных строк; однако он не будет отображать строки, прочитанные из стандартного ввода.

В разделе "Встроенные исключения" перечислены встроенные исключения и их значения.

8.3. Обработка исключений¶

Можно написать программы, обрабатывающие выбранные исключения. Посмотрите на следующий пример, который запрашивает у пользователя ввод до тех пор, пока не будет введено допустимое целое число, но позволяет пользователю прервать программу (используя Control - C или что-то еще, что поддерживает операционная система); обратите внимание, что пользовательское прерывание сигнализируется возбуждением исключения KeyboardInterrupt.

Инструкция try работает следующим образом.

Сначала выполняется предложение try (операторы между ключевыми словами try и exclude).

Если исключения не возникает, за исключением предложения пропускается и выполнение оператора try завершается.

Если во время выполнения предложения try возникает исключение, остальная часть предложения пропускается. Затем, если его тип соответствует исключению, названному в честь ключевого слова exclude, выполняется предложение exclude, а затем выполнение продолжается после блока try/except.

Если возникает исключение, которое не соответствует исключению, указанному в за исключением предложения, оно передается внешним операторам try; если обработчик не найден, это необработанное исключение, и выполнение останавливается с сообщением, как показано выше.

У оператора try может быть более одного за исключением предложения, чтобы указать обработчики для разных исключений. Выполняется не более одного обработчика. Обработчики обрабатывают только те исключения, которые возникают в соответствующем предложении try, а не в других обработчиках того же оператора try. Предложение исключения может называть несколько исключений в виде кортежа в скобках, например:

Класс в предложении исключения совместим с исключением, если это тот же класс или его базовый класс (но не наоборот — предложение исключения, перечисляющее производный класс, несовместимо с базовым классом). Например, следующий код напечатает B, C, D в таком порядке:

Обратите внимание, что если бы исключающие предложения были перевернуты (с первым исключением B), были бы напечатаны B, B, B — срабатывает первое соответствующее предложение exclude.

Все исключения наследуются от BaseException , поэтому его можно использовать в качестве подстановочного знака. Используйте это с особой осторожностью, так как таким образом легко замаскировать настоящую ошибку программирования! Его также можно использовать для вывода сообщения об ошибке, а затем повторного вызова исключения (что позволяет вызывающей стороне также обрабатывать исключение):

Кроме того, последнее предложение exclude может не указывать имена исключений, однако тогда значение исключения должно быть получено из sys.exc_info()[1] .

У оператора try … кроме необязательного предложения else, которое, если оно присутствует, должно следовать за всеми предложениями кроме. Это полезно для кода, который должен выполняться, если предложение try не вызывает исключения. Например:

Использование предложения else лучше, чем добавление дополнительного кода в предложение try, потому что оно позволяет избежать случайного перехвата исключения, которое не было вызвано кодом, защищенным оператором try … кроме.

Когда возникает исключение, оно может иметь связанное значение, также известное как аргумент исключения. Наличие и тип аргумента зависят от типа исключения.

В предложении except после имени исключения может быть указана переменная. Переменная привязана к экземпляру исключения с аргументами, хранящимися в instance.args. Для удобства экземпляр исключения определяет __str__(), чтобы аргументы можно было распечатать напрямую, без ссылки на .args. Можно также сначала создать экземпляр исключения, прежде чем вызывать его, и добавить к нему любые атрибуты по желанию.

Если у исключения есть аргументы, они печатаются как последняя часть («подробности») сообщения для необработанных исключений.

Обработчики исключений обрабатывают исключения не только в том случае, если они возникают непосредственно в предложении try, но и в тех случаях, когда они возникают внутри функций, вызываемых (даже косвенно) в предложении try. Например:

8.4. Вызов исключений¶

Инструкция повышения позволяет программисту принудительно вызвать указанное исключение. Например:

Единственный аргумент для повышения указывает на возбуждаемое исключение. Это должен быть либо экземпляр исключения, либо класс исключения (класс, производный от Exception ). Если передается класс исключения, он будет неявно создан путем вызова его конструктора без аргументов:

Если вам нужно определить, было ли возбуждено исключение, но вы не собираетесь его обрабатывать, более простая форма оператора повышения позволяет повторно инициировать исключение:

8.5. Цепочка исключений¶

Инструкция повышения допускает необязательный параметр from, который включает цепочку исключений. Например:

Это может быть полезно при преобразовании исключений. Например:

Цепочка исключений происходит автоматически, когда исключение вызывается внутри раздела exclude или finally. Это можно отключить, используя идиому from None:

Дополнительную информацию о механизме объединения см. в разделе Встроенные исключения .

8.6. Пользовательские исключения¶

Программы могут называть свои собственные исключения, создавая новый класс исключений (дополнительную информацию о классах Python см. в разделе Классы). Исключения обычно должны быть производными от класса Exception прямо или косвенно.

Могут быть определены классы исключений, которые делают то же, что и любой другой класс, но обычно остаются простыми, часто предлагая только ряд атрибутов, которые позволяют обработчикам исключения извлекать информацию об ошибке.

Большинство исключений определяются с именами, оканчивающимися на "Ошибка", аналогично именам стандартных исключений.

Многие стандартные модули определяют свои собственные исключения для сообщения об ошибках, которые могут возникнуть в определяемых ими функциях. Более подробная информация о классах представлена ​​в главе Классы.

8.7. Определение действий по очистке¶

У оператора try есть еще одно необязательное предложение, предназначенное для определения действий по очистке, которые должны выполняться при любых обстоятельствах. Например:

Если присутствует предложение finally, оно будет выполняться как последняя задача перед завершением оператора try. Предложение finally выполняется независимо от того, создает ли оператор try исключение. В следующих пунктах обсуждаются более сложные случаи, когда возникает исключение:

Если во время выполнения предложения try возникает исключение, это исключение может быть обработано предложением exclude. Если исключение не обрабатывается предложением exclude, исключение возникает повторно после выполнения предложения finally.

Исключение может возникнуть во время выполнения предложения exclude или else. Опять же, исключение повторно вызывается после того, как предложение finally было выполнено.

Если в предложении finally выполняется оператор break , continue или return, исключения не вызываются повторно.

Если оператор try достигает оператора break , continue или return, предложение finally будет выполняться непосредственно перед выполнением оператора break , continue или return.

Если предложение finally включает оператор return, возвращаемое значение будет значением из оператора return предложения finally, а не значением из оператора return предложения try.

Более сложный пример:

Как видите, предложение finally выполняется при любом событии. Ошибка TypeError, вызванная разделением двух строк, не обрабатывается предложением exclude и, следовательно, возникает повторно после выполнения предложения finally.

В реальных приложениях предложение finally полезно для освобождения внешних ресурсов (таких как файлы или сетевые подключения), независимо от того, было ли использование ресурса успешным.

8.8. Предопределенные действия по очистке¶

Некоторые объекты определяют стандартные действия по очистке, которые должны выполняться, когда объект больше не нужен, независимо от того, была ли операция с использованием объекта успешной или неудачной. Посмотрите на следующий пример, который пытается открыть файл и вывести его содержимое на экран.

Проблема с этим кодом заключается в том, что он оставляет файл открытым на неопределенное время после завершения выполнения этой части кода. Это не проблема в простых сценариях, но может быть проблемой для более крупных приложений. Оператор with позволяет использовать такие объекты, как файлы, таким образом, чтобы гарантировать их быструю и правильную очистку.

После выполнения оператора файл f всегда закрывается, даже если при обработке строк возникла проблема. Объекты, которые, как и файлы, предоставляют предопределенные действия по очистке, будут указывать это в своей документации.

Существует множество служб, способных проверить ваш веб-сайт на наличие ошибок и найти способы улучшить различные веб-страницы. Ниже приведен список некоторых из наших любимых бесплатных онлайн-сервисов.

Общая проверка веб-сайта и HTML

  • Проверка разметки W3C — официальный валидатор консорциума World Wide Web. Бесценный ресурс для проверки HTML, XHTML или других языков разметки, которые вы используете на своей веб-странице, на наличие ошибок.
  • Инструменты Google для веб-мастеров – обязательный инструмент для любого веб-мастера. С помощью этого бесплатного сервиса вы можете идентифицировать любую страницу или ссылку с ошибками, сканировать на наличие вредоносных программ, находить страницы с короткими или отсутствующими заголовками, находить повторяющиеся метатеги и многое другое. Следует отметить, что для использования этих инструментов требуется учетная запись Google.
  • Silktide Nibbler – фантастический бесплатный онлайн-сервис, предоставляющий полный обзор вашего веб-сайта с общей оценкой.
  • Woorank – еще один фантастический бесплатный онлайн-инструмент, с помощью которого можно быстро и легко получить обзор проблем, которые могут возникнуть на вашем сайте.
  • HTML Tidy — простой и удобный в использовании онлайн-инструмент, который позволяет выявить любые ошибки HTML, которые могут быть на вашей странице.
  • Feng-GUI: загрузите изображение своей главной страницы или других страниц и создайте тепловую карту того, куда глаза посетителя, скорее всего, обратятся в первую очередь.

Проверка CSS

  • Служба проверки CSS W3C. Отображает любые проблемы, ошибки или предупреждения о соответствии, которые есть в любом коде CSS.
  • Компрессор CSS. Хотя эта служба не может проверять наличие ошибок, ее можно использовать после проверки кода CSS. С помощью этого инструмента вы можете уменьшить размер файла CSS, чтобы ускорить загрузку страниц, которые ссылаются на него, и уменьшить объем используемой полосы пропускания.

Тесты скорости

Специальные возможности

    – Отличный сервис для оценки доступности веб-страницы с полной информацией и рекомендациями по обнаруженным ошибкам и предупреждениям.
  • Снимки браузера. Проверьте, насколько доступны ваши веб-страницы во всех интернет-браузерах.
  • Фильтр для дальтоников. Посмотрите, как ваша страница выглядит для людей с дальтонизмом. Использование этой страницы гарантирует, что посетитель вашего сайта, страдающий дальтонизмом, ничего не пропустит из-за плохой цветовой схемы.
  • html2txt – отличный способ преобразования HTML-страницы в текстовый документ. Эта страница полезна, потому что многие специальные инструменты для слепых преобразуют страницы в текст. Используя этот инструмент, вы можете получить хорошее представление о том, как слепой человек может прочитать вашу страницу.
  • Инструмент проверки читабельности. Проверьте читабельность своего веб-сайта и получите лучшее представление о том, сколько людей поймут ваш контент.
  • IE NetRender. IE NetRender — это отличная онлайн-служба, позволяющая увидеть, как ваша страница отображается в разных версиях Microsoft Internet Explorer. Этот инструмент полезен, если вам нужно протестировать веб-страницу в старом браузере, который, как известно, имеет проблемы совместимости с CSS.

Мобильная готовность

  • mobiReady — проверьте, насколько ваш веб-сайт или блог совместим с просмотром на мобильном устройстве. Он не только дает вам подробную информацию о том, почему ваш веб-сайт может работать, а может и не работать, но и демонстрирует в реальном времени, как страница загружается на разных мобильных устройствах.

Анализ веб-сайта

  • Google Analytics. Предоставляет полную информацию о посетителях вашего веб-сайта, какие браузеры они используют, какие страницы покидают, что искали и многое другое. Эта служба помогает выявить проблемы, которые другие службы могли пропустить.

Проверка блога

Если ваша страница является блогом, рассмотрите возможность использования Is My Blog Work? чтобы проверить, все ли работает, и получить дополнительную информацию о вашей странице.

Проверка удобства использования сайта

Просмотр вашего веб-сайта друзьями, членами семьи и коллегами – это отличный способ убедиться, что ваш веб-сайт не только работает, но и работает на разных компьютерах. Другие службы, такие как UsabilityHub Fivesecondtest, также могут проверить общую привлекательность вашего сайта.

Итак, вы написали несколько HTML-страниц, и кажется, что они отображаются нормально, но с ними есть некоторые неточности.Как лучше всего начать выяснять, что не так, и убедиться, что эти страницы (и любые будущие страницы, которые вы напишете) будут корректно отображаться в браузерах без ошибок?

  • Validator.nu: валидатор новой школы, который проверяет HTML5, ARIA, SVG 1.1 и MathML 2.0: он просматривает весь документ, указывая места, где ваша разметка не соответствует этому типу документа (т. е. где есть ошибки). . Это тот, который мы рекомендуем, если вы используете тип документа HTML5, как мы делаем на протяжении большей части этого курса.
  • W3C MarkUp Validator: проверяет тип документа (X)HTML, который вы используете для документа, который вы ему передаете, а затем соответствующим образом проверяет вашу разметку. Это тот, который мы рекомендуем, если вы используете тип документа HTML4 или XHTML1.x. Он проверяет HTML5, но validator.nu, возможно, более актуален.
  • Программа проверки ссылок W3C: просматривает документ, который вы ему даете для проверки, и проверяет все ссылки внутри этого документа, чтобы убедиться, что они не повреждены (т. е. значения указывают на несуществующие ресурсы).
  • Валидатор W3C CSS. Как вы, наверное, догадались, он просматривает документ CSS (или HTML/CSS) и проверяет, правильно ли CSS соответствует спецификациям CSS.

В этой статье учебного курса по веб-стандартам мы расскажем, как использовать первые два из них, покажем вам, как проверять разметку, интерпретируя типичные результаты, которые дает вам средство проверки. Средство проверки ссылок очень очевидно, и мы рассмотрим отладку CS позже в этом курсе.

Ошибки

В компьютерном программировании есть два вида проблем с кодом:

  • синтаксические ошибки — это когда ошибка в написании кода приводит к тому, что компьютер не может правильно выполнить или скомпилировать программу.
  • программные (или логические) ошибки — когда код не полностью отражает замысел программиста.

В большинстве языков программирования первую ошибку обнаружить невероятно легко — ваша программа просто отказывается запускаться или компилироваться до тех пор, пока ошибка не будет исправлена. Это значительно упрощает поиск и исправление таких типов ошибок в те общие головокружительные моменты: «Так почему же он не делает то, что я хочу?»

HTML — это не язык программирования. Синтаксические ошибки на веб-странице обычно не приводят к тому, что веб-браузер отказывается открывать страницу (хотя XHTML, как правило, намного строже, чем HTML, по крайней мере, когда он используется как «[правильный XML]»). Это одна из основных причин быстрого принятия и распространения Интернета.

Первый веб-браузер, WorldWideWeb (написанный Тимом Бернерсом-Ли), также был редактором, позволявшим людям создавать веб-страницы без предварительного изучения HTML. Этот редактор создал недопустимый HTML. Это можно было бы исправить, но это создало важный прецедент, который существует во всех веб-браузерах и по сей день: предоставление людям доступа к контенту важнее, чем жалобы на ошибки людям, которые не понимают их или не в состоянии исправить. исправить их.

Что такое проверка?

Хотя веб-браузеры будут принимать плохие (официальный термин недействительные) веб-страницы и делать все возможное, чтобы отобразить код, делая наилучшее предположение о намерениях автора, все же можно проверить, является ли HTML был написан правильно, и это действительно хорошая идея, как вы увидите ниже. Мы называем это «проверкой» HTML.

Программа проверки сравнивает код HTML на веб-странице с правилами соответствующего типа документа и сообщает вам, были ли эти правила нарушены и где.

Зачем проверять?

Некоторые веб-разработчики считают, что если веб-страница нормально выглядит в браузерах, не имеет значения, если она не прошла проверку. Они описывают проверку как идеальную цель, а не как черно-белую проблему.

В этом отношении есть доля мудрости. Спецификация HTML4 не идеальна, и некоторые вещи, которые, возможно, были правильными, например, начало упорядоченного списка с точки, отличной от 1, были недопустимыми HTML. HTML5 исправляет довольно много проблем со спецификациями, включая эту, но вы все равно можете столкнуться с ситуациями, когда может потребоваться нарушение проверки. Как говорится:

Изучите правила, чтобы знать, как правильно их нарушать.

Есть две очень веские причины для проверки HTML-кода при его создании:

  • Вы не всегда идеальны, как и ваш код — все мы делаем ошибки, и ваши веб-страницы будут более качественными (т. е. работать более последовательно), если вы отсеете все ошибки.
  • Браузеры меняются. Вполне вероятно, что в будущем браузеры будут менее снисходительны к анализу недопустимого кода, а не более снисходительны.

Проверка — это ваша система раннего предупреждения об ошибках в разметке, которые могут проявляться интересными и трудно определяемыми способами.Когда браузер сталкивается с недопустимым HTML-кодом, он должен сделать обоснованное предположение о том, что вы хотели сделать, и разные браузеры могут дать разные ответы.

Разные браузеры по-разному интерпретируют недопустимый HTML

Действительный HTML — это единственный контракт, который вы заключаете с производителями браузеров. Спецификация HTML говорит, как вы должны писать и как они должны интерпретировать ваш документ. В последнее время соответствие браузеров стандартам достигло такого уровня, когда, пока вы пишете корректный код, все основные браузеры должны интерпретировать ваш код одинаково. В любом случае это почти всегда имеет место для HTML, а другие стандарты имеют еще несколько отличий в поддержке здесь и там.

Но что, если вы передадите неверный код браузера? Что происходит тогда? Ответ заключается в том, что обработка ошибок браузера вступает в игру, чтобы решить, что делать с кодом. По сути, это говорит: «Хорошо, этот код не проходит проверку, так как же нам представить эту страницу конечному пользователю? Давайте заполним пробелы вот так!»

Звучит здорово, не так ли? Если вы оставите несколько ошибок на своей странице, браузер заполнит пробелы за вас? Это не так, поскольку каждый браузер работает по-своему. Например:

Ошибки заключаются в том, что элемент неправильно вложен в несколько блочных элементов, а элемент привязки не закрыт. Когда вы пытаетесь отобразить это в разных браузерах, они интерпретируют код совершенно по-разному:

  • Opera делает последующие элементы дочерними для элемента, выделенного жирным шрифтом.
  • Firefox добавляет жирным шрифтом элементы между абзацами, которых не было в разметке.
  • Internet Explorer помещает текст "Этот текст должен быть ссылкой" вне тега привязки, создающего ссылку.

Эту исходную версию этого примера можно найти в статье Холлворда Стина «Одни ошибки DOM, разные интерпретации браузера». Прочтите ее, чтобы получить более подробную информацию об ошибках HTML и некоторую информацию об инструментах отладки.

Ни одно из действий различных браузеров не является неправильным; все они пытаются заполнить пробелы в вашем неправильном коде. Суть в том, избегайте недопустимой разметки, если это возможно на вашей странице!

Обратите внимание, что HTML5 исправляет это, поскольку впервые в истории HTML он определяет, как браузеры должны обрабатывать неправильно сформированную разметку. Однако на момент написания статьи поддержка этой обработки ошибок HTML5 не была широко распространена в браузерах, поэтому на нее пока нельзя полагаться.

Как проверить свои страницы

Теперь, когда мы изучили всю теорию проверки вашего HTML, мы поговорим о самой простой части — фактической проверке! Хорошо, это не совсем точно. Поместить URL-адрес в валидатор и посмотреть, действительна ли страница или нет, легко; выяснить, что не так, и исправить ошибки иногда бывает не так просто, так как сообщения об ошибках иногда могут быть немного загадочными. Я рассмотрю несколько примеров ниже.

Пример, который мы рассмотрим в этом разделе, выглядит следующим образом (вы также можете загрузить или просмотреть HTML):

Эта простая страница состоит из трех заголовков, трех абзацев, одной гиперссылки и одного ненумерованного списка. Он использует тип документа XHTML 1.0 Strict в качестве набора правил для проверки. В документе есть несколько ошибок, которые вы обнаружите ниже, используя HTML-валидатор W3C. Мы использовали строгий XHTML 1.0, поскольку он чаще вызывает ошибки, чем тип документа HTML5.

Валидатор HTML W3C

У W3C есть доступный онлайн-валидатор — перейдите к нему, щелкнув правой кнопкой мыши / удерживая клавишу CTRL по гиперссылке, которую вы видите здесь, и выбрав опцию «Открыть в новой вкладке» — будет полезно иметь возможность переключать вкладки, чтобы получить между валидатором и этой статьей по мере прохождения этого примера.

Обратите внимание, что вы также можете проверять страницы в валидаторе W3C непосредственно в браузере Opera, просто щелкнув правой кнопкой мыши или удерживая нажатой клавишу Ctrl и выбрав параметр "Проверить".

Вы заметите, что в верхней части интерфейса валидатора есть три вкладки:

  • Проверить по URI: позволяет ввести адрес страницы, которая уже находится в Интернете, для проверки.
  • Проверить путем загрузки файла: позволяет загрузить HTML-файл для проверки.
  • Проверить прямым вводом: позволяет вставить содержимое HTML-файла в окно для проверки.

Какой бы метод вы ни использовали, он должен давать одинаковый результат; Проще всего протестировать пример страницы отсюда, скопировав полный код примера сверху и вставив его на третью вкладку. Это должно дать вам результат, показанный на рисунке 1:

Рисунок 1. Результаты проверки образца документа — 17 ошибок!

Это может показаться тревожным, особенно когда мы говорим вам, что в документе не 17 ошибок!Не отчаивайтесь — он сообщает о большем количестве ошибок, чем есть на самом деле, потому что часто ошибка в верхней части страницы будет каскадной, заставляя валидатор сообщать о большем количестве ошибок ниже, поскольку кажется, что больше элементов не закрыты или неправильно вложены. Вам просто нужно подумать о том, что означают сообщения об ошибках, и искать очевидные ошибки в разметке. В таблице 1 ниже показаны все ошибки, которые мы исправили для проверки страницы, а также наша логика для определения того, что было не так, и исправления, которые мы применили для решения проблемы.

Обратите внимание на фиолетовое недовольное лицо ( ). Если бы страница не содержала синтаксических ошибок, отображалось бы счастливое лицо ( ). Если бы страница не содержала ошибок, но содержала какие-либо предупреждения, отображалось бы осторожное лицо ( ).

При нажатии на недовольное лицо отображается сообщение об ошибке, подобное следующему:

Номера строк слева соответствуют строкам в HTML-документе, переданном веб-сервером. Если на вашей веб-странице используются включения на стороне сервера, просмотрите исходный документ в iCab, дважды щелкнув номер строки.

Если вы исправляете ошибки с помощью BBedit, вам нужно включить нумерацию строк, чтобы вы могли найти ошибки, о которых сообщает BBedit. Для этого щелкните третий значок слева () в верхней части окна документа. Используйте тот же значок, чтобы убедиться, что мягкое обтекание текста отключено. Окно будет выглядеть примерно так, как показано на рисунке ниже.

Для более простых страниц процесс теперь так же прост, как сопоставление номеров строк, сообщаемых iCab, с номерами строк в BBedit. Если вы использовали серверные включения на своих страницах, отображаемые номера строк не всегда будут совпадать с номерами строк, указанными в отчете об ошибках iCab. В таких случаях просмотрите исходный код в iCab (см. выше), а затем выясните, где ошибка относительно кода, который вы просматриваете в BBedit.

BBedit

BBEdit также имеет встроенную проверку синтаксиса. Чтобы проверить документ HTML с помощью BBedit, нажмите кнопку «Проверить синтаксис» на палитре инструментов HTML.

В приведенном ниже окне показан пример средства проверки синтаксиса. Количество ошибок указано в верхней части окна, и каждая ошибка указана в верхней половине окна. Если вы нажмете на ошибку, она появится в нижней части выделенного окна.

Уборка BB

HTML Tidy – это утилита для очистки HTML-кода и создания отступов. Вы можете запустить BB Tidy, выбрав опцию «Tidy HTML» в меню «Инструменты» в BBedit. (Если вы не видите параметр "Tidy HTML", это означает, что BB Tidy не установлен.) После выбора параметра Tidy HTML вы должны увидеть диалоговое окно ниже.

Рекомендуемые параметры выделены. При желании вы можете установить их так, как показано на рисунке, а затем нажать «Сделать параметрами по умолчанию», чтобы эти параметры всегда использовались. Нажмите «Использовать сейчас», чтобы позволить BB Tidy сделать свою работу. Появится отчет об ошибках, предупреждениях и сообщениях, он должен выглядеть примерно так.

Если у вас есть серьезные ошибки, которые вы не устранили с помощью iCab или BBedit, BB Tidy откажется продолжать работу, пока вы не вернетесь и не исправите ошибки. В противном случае сообщаемые ошибки, как правило, довольно просто исправить. Простые ошибки, такие как пропуск закрывающих тегов для абзацев, ячеек таблицы, строк таблицы или элементов списка, будут исправлены автоматически. Код также будет иметь отступ и жесткую обертку. Это значительно облегчит чтение кода для следующего человека, который должен будет внести изменения, и избавит вас от необходимости жестко оборачивать код и создавать отступы вручную (хотя это по-прежнему рекомендуется делать).

Tidy для Unix

Версия Tidy для UNIX установлена ​​на обоих наших рабочих серверах (по состоянию на 10 сентября 2001 г.). Это работает очень похоже на BBTidy, только без каких-либо диалоговых окон конфигурации. Для получения информации об использовании попробуйте выполнить команду "bbtidy -h" на любом компьютере, к которому вы подключены.

Читайте также: