Рис. 2.67. Контекстное меню для настройки данных формы

Чтобы после ввода данных сканировать имеющиеся в формах ссылки, выполните команду Scan Re-check Current List (Сканирование → Повторная проверка текущего списка).

Файл проекта можно сохранить, оставив в нем данные, введенные в формы. Это допускается только в случае, если при настройке параметров для форм не включен флажок Don\'t save form input data to BOT file (Не сохранять данные для форм вместе с проектом).

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

1. Воспользуйтесь пунктом меню Tools Project Options New Project (Инструменты → Параметры Проекта → Новый проект) или Tools Project Options Current Project (Инструменты → Параметры Проекта → Открытый проект). Откроется окно New Project Options (Параметры нового проекта) или Options for [имя проекта ] (Параметры для [имя проекта]) соответственно.

2. В левой части окна выберите пункт Project Scan Forms (Проект → Сканирование → Формы), как показано на рис. 2.68.

Рис. 2.68. Окно Options for…

3. В правой части окна отметьте пункт Don\'t save form input data to BOT file (Не сохранять данные для форм вместе с файлом проекта). Щелкните по кнопке OK.

При такой настройке все значения строк в колонке Save панели данных будут переключены в состояние No, и перевести их в состояние Yes будет невозможно.

Здесь же, в окне настройки параметров проекта, можно отказаться от выдачи сообщения в тот момент, когда программа встречает форму. Достаточно отключить опцию Prompt when new forms are found (Предупреждать при обнаружении новых форм).

Открытие и сохранение проектов

Результаты сканирования сохраняются в файле формата BOT (filename.bot). Например, при обработке узла http://sound.agava.ru по умолчанию создается файл проекта с именем sound_agava_ru.bot. В файле хранится следующая информация:

• результаты сканирования;

• все параметры настроек;

• стартовый (базовый) URL-адрес.

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

Чтобы открыть проект, щелкните по кнопке Open Linkbot Project (Открыть проект Linkbot)

на панели инструментов или выберите пункт меню File → Project Open (Файл → Проект → Открыть). Если вы открываете проект, созданный в программе Linkbot Enterprise Server, появится соответствующее предупреждение. В нем сообщается, что некоторые возможности программы Linkbot Developer Edition заблокированы для подобных проектов. Щелкните по кнопке OK.

Чтобы сохранить проект в файле формата BOT, нажмите на кнопку Save Linkbot Project (Сохранить проект Linkbot)

на панели инструментов или выберите пункт меню File Project Save (Файл → Проект → Сохранить). В открывшемся окне задайте путь к файлу и впишите его имя. Расширение. bot будет добавлено автоматически.

Если проект создавался в программе Linkbot Enterprise Server, документ можно сохранить только с помощью команды меню File Project Save As (Файл → Проект → Сохранить как). При этом следует самостоятельно выбрать нужный формат bot-файла – программы Linkbot Enterprise Server или Linkbot Developer Edition. Обратите внимание, что в последнем случае сохранятся только первые сто тысяч ссылок, а информация об остальных будет утеряна.

Окно возможных решений

Если во время работы программы отсканированы не все ссылки, то выдается пояснительное сообщение с указанием причин. После сканирования выберите пункт меню View Suggestion Window (Вид → Окно возможных решений). Откроется окно, показанное на рис. 2.69, с советами, как разрешить возникшие проблемы.

Рис. 2.69. Окно Suggestion Window

Результаты сканирования

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

Для ускорения работы предусмотрены комбинации «горячих» клавиш, список которых представлен в табл. 3.

Таблица 3. «Горячие» клавиши

Раскрывающийся список в левой панели позволяет включить следующие режимы просмотра списков, диаграмм и графических схем:

Directory Tree (Дерево каталогов) – дерево каталогов Web-сайта;

URL Tree (Дерево URL-адресов) – структура сайта представлена в виде дерева, что облегчает исследование интерактивности сайта и перемещение по нему. Внешне такая структура напоминает Проводник Windows. По вашему усмотрению ссылки могут быть развернуты до требуемого уровня вложенности и свернуты обратно;

Broken Links (Недоступные ссылки) – список всех недоступных ссылок;

Pages With Broken Links (Страницы с недоступными ссылками) – список страниц, где присутствует хотя бы одна недоступная ссылка;

New Pages (Новые страницы) – список страниц, измененных за определенный интервал времени;

Old Pages (Старые страницы) – список страниц, не изменявшихся за определенный интервал времени;

Slow Pages (Медленно загружаемые страницы) – список страниц, которые грузятся относительно медленно из-за большого размера файла;

Orphaned Files (Потерянные файлы) – список файлов, на которые нет ни одной гиперссылки с Web-сервера;

Pages Missing Titles (Страницы с пропущенными заголовками) – список страниц, у которых отсутствует тэг ;</p><p>• <b>Pages With Framesets </b>(Страницы с фреймами) – список страниц с фреймами, а также загружаемых во фреймы;</p><p>• <b>Pages Missing Alt Tags </b>(Страницы с пропущенным тэгом ALT) – список страниц, у которых в ссылках на изображения пропущен тэг ALT;</p><p>• <b>Pages Missing Height/Width </b>(Страницы с пропущенными тэгами HEIGHT и WIDTH) – список страниц, у которых в ссылках на изображения отсутствуют указанные тэги;</p><p>• <b>Pages With Log Errors </b>(Страницы с зарегистрированными ошибками доступа) – список страниц, которые зарегистрированы в log-файлах (файлах посещений) как содержащие ошибки доступа;</p><p>• <b>Pages with Forms </b>(Страницы с формами) – список страниц с формами;</p><p>• <b>Site Map </b>(Карта сайта) – графическая диаграмма структуры сайта;</p><p>• <b>Scan Rules </b>(Правила сканирования) – правила, в соответствии с которыми производится сканирование;</p><p>• <b>Reports </b>(Отчеты) – отображение отчетов;</p><p>• <b>All Links </b>(Все ссылки) – список всех ссылок, обнаруженных на сайте.</p><b><i>Планировщик </i></b><p>Планировщик позволяет автоматизировать сопровождение вашего узла. С его помощью можно выполнять как разовую, так и регулярную проверку страниц сайта в заданные промежутки времени. Например, после сканирования и сохранения его результатов в файле формата BOT можно настроить программу таким образом, чтобы через определенный период времени, предположим, в ночь с воскресенья на понедельник, начиналась повторная проверка. Тогда к утру понедельника у вас будут готовы новые результаты.</p><p>Для запуска планировщика выполните следующие действия:</p><p>1. Выберите пункт меню <b>Tools </b>→ <b>Scheduler </b>(Инструменты → Планировщик). Откроется окно <b>Schedule Linkbot Runs </b>(Планирование запусков программы Linkbot). Перейдите на вкладку <b>Run Schedule </b>(Запуск планирования), показанную на рис. 2.70.</p><p><img src='https://find-books.ru/laravel/public/books/320767/Autogen_eBook_id126' alt=''></p>Рис. 2.70. Окно <b><i>Schedule Linkbot Runs, </i></b>вкладка <b><i>Run Schedule </i></b></p><p>2. В поле <b>Scheduled Bot File </b>(Планировочный BOT-файл) введите имя файла и полный путь к нему. В секции <b>Frequency </b>(Частота) нажмите одну из кнопок: <p>• <b>Off </b>(Выключено) – ни одно из планируемых заданий не будет запущено;</p><p>• <b>Run when Linkbot is started </b>(Включать при запуске программы) – при каждом запуске программы немедленно начинается сканирование страниц сайта, указанных в соответствующем проекте. Данный параметр может применяться, например, при использовании любого другого планировщика заданий;</p><p>• <b>Run Once </b>(Запустить один раз) – программа Linkbot будет запущена один-единственный раз во время, заданное в разделе <b>Time to Start Run; </b></p><p>• <b>Every </b>… <b>Hour(s) </b>(Каждые … часов), <b>Every </b>… <b>Day(s) </b>(Каждые … дней) или <b>Every </b>… <b>Week(s) </b>(Каждые … недель) – параметры, предназначенные для настройки регулярного сканирования в заданные интервалы времени.</p><p>3. В разделе <b>Time to Start Run </b>(Время начала работы) введите часы и минуты в поле <b>Time </b>(Время) и день недели в поле <b>Day </b>(День).</p><p>4. Если требуется, включите опции <b>Close Linkbot project window when run is complete </b>(Закрыть окно проекта программы Linkbot по окончании работы) и <b>Exit Linkbot when scheduled task is finished </b>(Выйти из программы Linkbot при завершении планового задания). Первая позволяет сохранить bot-файл и закрыть проект, но не саму программу Linkbot, вторая – завершить ее работу.</p><p>Планировщик позволяет в заданное время подключиться к Internet по телефонной линии, используя одно из имеющихся в системе соединений, а по выполнении задания – отключиться и освободить линию. Перейдите на вкладку <b>Dialup Connection </b>(Коммутируемое соединение), показанную на рис. 2.71, и произведите там необходимые настройки. В поле <b>Entry </b>(Вход) выберите из списка имеющихся соединений нужное и введите соответствующие ему <b>Username </b>(Имя пользователя) и <b>Password </b>(Пароль). Щелкните по кнопке <b>OK. </b></p><p><img src='https://find-books.ru/laravel/public/books/320767/Autogen_eBook_id127' alt=''></p>Рис. 2.71. Окно <b><i>Schedule Linkbot Runs, </i></b>вкладка <b><i>Dialup Connection </i></b></p><p><b><i>Экспорт информации во внешние файлы </i></b><p>Содержимое вкладок правой панели <b>Children </b>и <b>Parents </b>можно экспортировать в HTML-файл для просмотра в браузере. При этом выгружается только информация об адресах с учетом настроек фильтров. Для экспорта выполните следующие действия:</p><p>1. Перейдите на нужную вкладку <b>(Children </b>или <b>Parents). </b></p><p>2. Если требуется, установите требуемые фильтры, чтобы были видны только файлы, соответствующие условиям выбора.</p><p>3. Воспользуйтесь командой меню <b>File </b>→ <b>Export </b>→ <b>HTML Index </b>(Файл → Экспорт → HTML-индекс). Откроется окно <b>Export HTML/Print Settings </b>(Экспорт HTML/Настройка печати), используемое при экспорте данных и при печати (рис. 2.72). Здесь нужно отметить поля, которые требуется вывести в файл или на печать:</p><p>• <b>Show Description </b>(Показывать описание);</p><p>• <b>Show Status </b>(Показывать состояние);</p><p>• <b>Show Last Modified Date </b>(Показывать дату последнего изменения);</p><p>• <b>Show Child Links </b>(Показывать ссылки на потомков);</p><p>• <b>Show Parent Links </b>(Показывать ссылки на предков);</p><p>• <b>Show Non-HTML Links </b>(Показывать ссылки не в формате HTML).</p><p><img src='https://find-books.ru/laravel/public/books/320767/Autogen_eBook_id128' alt=''></p>Рис. 2.72. Окно <b><i>Export HTML/Print Settings </i></b></p><p>4. Щелкните по кнопке <b>Continue </b>(Продолжить). Откроется окно <b>Export Report to HTML File </b>(Экспортировать отчет в HTML-файл), в котором следует указать папку и имя файла, куда будет записан отчет. <p>Для экспорта данных в текстовый файл с разделителями предназначена команда <b>File </b>→ <b>Export </b>→ <b>Delimited Text </b>(Файл → Экспорт → Текст с разделителями). Откроется диалоговое окно <b>Export Report to Text File </b>(Экспортировать отчет в текстовый файл), где надлежит указать папку и имя файла для записи отчета. Поля в созданном файле разделены запятыми. Такой файл можно импортировать в электронную таблицу или в базу данных.</p><b><i>Проверка правильности кода </i></b><p>После сканирования стоит проверить синтаксис HTML-кода на страницах. Тестировать можно любой файл по отдельности или же выбрать группу файлов. Перед проверкой следует убедиться в том, что список, отображенный в правой панели, содержит документы HTML, у которых нет неопределенных ссылок:</p><p>1. Выберите в раскрывающемся списке левой панели пункт <b>Directory Tree </b>или <b>URL Tree. </b>В верхней части дерева папок (или адресов) щелкните по пункту <b>All Files </b>(Все файлы) или <b>All Links </b>(Все ссылки).</p><p>2. Нажмите кнопки <b>Show Good Links </b>(Показывать исправные ссылки)</p><p><img src='https://find-books.ru/laravel/public/books/320767/Autogen_eBook_id129' alt=''></p><p>и <b>Show HTML Links </b>(Показывать HTML-ссылки)</p><p><img src='https://find-books.ru/laravel/public/books/320767/Autogen_eBook_id130' alt=''></p><p>на инструментальной панели фильтров. В правой панели выделите один или несколько файлов (в последнем случае надо удерживать нажатой клавишу <b>Shift </b>или <b>Ctrl) </b>и щелкните правой кнопкой мыши. В контекстном меню выберите пункт <b>Validate HTML </b>(Проверить HTML-код). Откроется окно <b>Batch Validation </b>(Пакетная проверка кода), показанное на рис. 2.73, с результатами проверки. То же самое произойдет при выборе пункта главного меню <b>Tools </b>→ <b>Validate HTML </b>(Инструменты → Проверить HTML-код).</p><p><img src='https://find-books.ru/laravel/public/books/320767/Autogen_eBook_id131' alt=''></p>Рис. 2.73. Окно <b><i>Batch Validation </i></b></p><p>3. В окне <b>Batch Validation </b>щелкните дважды по номеру строки, и в правой панели откроется текст источника, где вы сразу же можете внести исправления в HTML-код. Кнопки <b>Next </b>(Следующий) и <b>Previous </b>(Предыдущий) предназначены для перехода к следующему и предыдущему файлам. <b>Настройка программы проверки </b><p>Для настройки параметров программы проверки кода предназначены пункты меню <b>Tools </b>→ <b>Validator Options </b>→ <b>HTML configuration </b>(Инструменты → Параметры программы проверки кода → HTML-конфигурация) и <b>Tools </b>→ <b>Validator Options </b>→ <b>Program </b>(Инструменты → Параметры программы проверки кода → Программа). В последнем случае откроется окно <b>Validator Engine Options </b>(Параметры системы программы проверки кода).</p><p>На вкладке <b>General </b>(Общие) в разделе <b>File Options </b>(Параметры файла) находится поле <b>Default HTML Configuration file </b>(Файл HTML-конфигурации по умолчанию), где задается путь к файлу конфигурации, который загружается автоматически при запуске программы проверки кода. В нем содержится информация о допустимых тэгах, их атрибутах и свойствах. Файл конфигурации имеет расширение. cfg и создается при помощи специального редактора, для вызова которого предназначен пункт меню <b>Tools </b>→ <b>Validator Options </b>→ <b>HTML configuration. </b></p><p>При первом запуске программы используется файл конфигурации, настроенный на спецификации HTML 4.0 и HTML 3.2, а также на правила записи тэгов Microsoft Internet Explorer и Netscape Navigator.</p><p>В разделе <b>Miscellaneous Options </b>(Другие параметры) отметьте поле <b>Autosave configuration </b>(Автоматически сохранять конфигурацию), если хотите, чтобы любые изменения в конфигурационный файл записывались без предупреждения.</p><p>На вкладке <b>Validator 1 </b>(Проверка 1), показанной на рис. 2.74, в разделе <b>Text Edit Options </b>(Параметры текстового редактора) имеются две опции:</p><p>• <b>Maximum errors </b>(Максимальное число ошибок) – количество ошибок в каждом из HTML-документов, после превышения которого проверка прерывается;</p><p>• <b>Maximum warnings </b>(Максимальное число предупреждений) – количество предупреждений в каждом из HTML-документов, после превышения которого проверка прекращается.</p><p><img src='https://find-books.ru/laravel/public/books/320767/Autogen_eBook_id132' alt=''></p>Рис. 2.74. Окно <b>Validator Engine Options </b>, вкладка <b>Validator 1 </b></p><p>В разделе <b>Character Entity Options </b>(Параметры символьного объекта) настраиваются следующие опции: <p>• <b>Validate entities </b>(Проверять правильность объектов) – рекомендуется поставить данный флажок, если вы хотите, чтобы была проверена правильность символьных объектов;</p><p>• <b>Numeric entities include Unicode </b>(Для числовых объектов допускается кодировка Unicode) – отметьте для проверки 16-битных символьных объектов в кодировке Unicode;</p><p>• <b>Allow hexadecimal numeric entities </b>(Разрешить использование шестнадцатеричных числовых объектов) – отметьте для проверки шестнадцатеричных числовых символьных объектов, которые отображаются в виде: &#xH;, где <i>H </i>– шестнадцатеричное число;</p><p>• <b>Allow double quote in text </b>(Разрешить использование двойных кавычек в тексте) – поставьте этот флажок, чтобы программа не считала ошибкой применение двойных кавычек в тексте HTML-документов. В противном случае всякий фрагмент, где удваиваются кавычки, но не применена конструкция ", программа принимает за ошибочный.</p><p>В разделе <b>Message/Output Options </b>(Параметры сообщения/вывода) используются следующие опции:</p><p>• <b>Show warnings </b>(Показывать предупреждения) – рекомендуется поставить данный флажок, чтобы появлялись все предупреждения;</p><p>• <b>Show comment warnings </b>(Показывать предупреждения для комментариев) – отметьте указанную опцию, чтобы предупреждения появлялись, когда комментарии в форме <!– > содержат символы < и >;</p><p>• <b>Show missing attribute warnings </b>(Показывать предупреждения об отсутствующих атрибутах) – отметьте эту опцию, чтобы появлялись предупреждения об отсутствии атрибутов, если для них установлен параметр <b>Warn if missing </b>(Предупреждать при отсутствии);</p><p>• <b>Show messages </b>(Показывать сообщения) – при установке флажка будут появляться все сообщения, сопровождающие проверку HTML-документа;</p><p>• <b>Show comments </b>(Показывать комментарии) – если поставить флажок, то в выходной файл, формируемый при завершении проверки, будут включены комментарии;</p><p>• <b>Show extended message info </b>(Показывать информацию с развернутыми сообщениями) – отметьте опцию, если хотите получать развернутые сообщения, в которых указаны допустимые и недопустимые тэги, их атрибуты и свойства.</p><p>На вкладке <b>Validator 2 </b>(Проверка 2) в разделе <b>Miscellaneous Options </b>(Разные параметры) производятся, в соответствии с названием, самые разнообразные настройки. Рассмотрим их.</p><p>• <b>Check HTML tag nesting </b>(Проверять вложенность HTML-тэгов). Если установить данный флажок, программа укажет на потенциальные проблемы, связанные с применением конструкций вида:</p><p><Н1>Желаем <I>удачи!</Н1></I>,</p><p>где тэги <I> … </I> должны быть вложены в <Н1> … </Н1>, поэтому следовало бы написать более строго:</p><p><Н1>Желаем <I>удачи!</I></Н1>.</p><p>• <b>Allow spaces around "=" </b>(Разрешить пробелы рядом со знаком равенства). Если опция отключена, наличие пробела справа или слева от знака равенства вынуждает программу выдавать предупреждающее сообщение – например, в любом из следующих случаев:</p><p>ALIGN = CENTER</p><p>ALIGN= CENTER</p><p>• <b>Tag range always valid </b>(Допустимы любые значения атрибутов тэга). Таким образом отменяется проверка на допустимость значений атрибутов тэга. Однако без крайней необходимости делать этого не следует.</p><p>• <b>Check for high ASCII characters </b>(Проверять на соответствие расширенной кодовой ASCII-таблице символов). Обнаружив символы из расширенной части кодовой таблицы символов, программа будет выдавать предупреждение. HTML-документы, написанные на английском языке, обычно не содержат таких символов, имеющих ASCII-код больше 127. Обратите внимание, что данная установка применима ко всему HTML-документу даже при наличии разделов, которые должны игнорироваться. Если в документах присутствуют символы из расширенной кодовой таблицы, следует использовать символьные объекты.</p><p>• <b>Allow multi-line quotes </b>(Разрешены кавычки на нескольких строчках). Допускается размещение фраз, заключенных в кавычки, на нескольких строках. Впрочем, лучше подобные фразы размещать на одной строке – тогда проще найти ошибки, связанные с пропущенными открывающими или закрывающими кавычками.</p><p>• <b>Require quoted attribute values </b>(Применяется установка значений атрибутов в кавычках). Программа проверяет обязательное наличие кавычек у всех атрибутов (для проверки достоверности XHTML).</p><p>• <b>Allow spaces such as in < b > </b>(Разрешать пробелы в сочетаниях типа < b >). Допускается использование пробела после открывающего тэг символа < и перед закрывающим символом >. В этом случае предупреждения выводиться не будут.</p><p>• <b>Require optional closing tags </b>(Требуется наличие необязательных заключительных тэгов). Поставьте этот флажок, если необходимо, чтобы все тэги, в которых наличие заключительных тэгов необязательно, их имели. Например, заключительный тэг для <P> не обязателен. Если данная опция включена, появятся сообщения об ошибке при всяком несоответствии закрывающего тэга </P> – открывающему тэгу <P>. Это бывает полезно для наглядности. Используется для проверки достоверности XHTML.</p><p>• <b>Ignore text in <% </b>… <b>%> </b>(Игнорировать текст в <% … %>). Программа проверки будет игнорировать текст между сочетаниями символов <% и %> (обычно это сценарии – так называемые скрипты, предназначенные для выполнения на сервере).</p><p>• <b><!- </b>… <b> -> Strict comments </b>(Строгие комментарии). Программа проверки генерирует сообщения о комментариях в формате, отличном от <!– … ->. В таком случае при анализе комментария вида <! Документ изменен 23/05/2000 > выдается сообщение об ошибке. Рекомендуется включать данный параметр, а комментарии в документах делать в указанном формате.</p><p>• <b>(first tag) can be anywhere </b>(Первый тэг может быть любым). Если этот параметр установлен, первый тэг документа не обязательно должен быть тэгом <HTML>.</p><p>• <b>Treat all quotes as equivalent </b>(Кавычки любого рода считать эквивалентными). Включите эту опцию, если хотите, чтобы программа считала идентичными одинарные и двойные кавычки, используемые для установки значений атрибутов. При этом применение одинарных кавычек не будет считаться ошибкой, когда HTML-конфигурация настроена на применение двойных, потому что оба эти символа эквивалентны. Если ваши документы написаны для современных программ просмотра, в которых использование одинарных кавычек не вызывает сложностей, следует установить данный флажок.</p><p>• <b>Collapse <% </b>… <b>%> in tags to «ASP» </b>(Не рассматривать конструкцию <% … %>, считая ее содержимое кодом ASP). При проверке пропускаются блоки с конструкцией <% … %>. Данная настройка не имеет никакого эффекта, если не включен параметр <b>Ignore text in <% </b>. <b>%> </b>.</p><p>• <b>XML compatibility </b>(Совместимость с XML). Программа будет воспринимать «быстрые» закрывающие тэги, например: <IMG SRC="picture.gif"/>. Она проверит также, чтобы тэги, подобные упомянутому, не имели другого, отдельного закрывающего тэга. Требуется для проверки правильности XHTML</p><p>• <b>Ignore all quotation requirements </b>(Игнорировать все требования цитирования). Программа проверки игнорирует все требования цитирования для значений атрибутов. При этом сообщения об ошибках такого рода не генерируются. Желательно отключить данную опцию.</p><p>• <b>Require lowercase tags and attribs </b>(Применяется нижний регистр для записи тэгов и атрибутов). Отметьте опцию, если необходимо проверять, чтобы все тэги и атрибуты были записаны в нижнем регистре. Требуется для проверки правильности XHTML.</p><p>• <b>Require quick close (<br/>) </b>(Применяется «быстрый» завершающий тэг – <br/>). Воспользуйтесь этой опцией, если необходимо проверять, чтобы пустые элементы имели завершение начального тэга притом, что использование «быстрого» завершающего тэга (например, <br /> или <hr />) не предусмотрено синтаксисом. Требуется для проверки правильности XHTML.</p><p>На вкладке <b>Tag Name Program </b>(Программа для тэга) окна <b>Validator Engine Options, </b>показанной на рис. 2.75, в разделе <b>Options </b>(Параметры) по умолчанию установлен флажок <b>Enable programs </b>(Разрешить программы). Если снять его, проверка заметно ускорится, но вместе с тем может уменьшиться количество обнаруженных недочетов. Для наиболее полной проверки синтаксиса данная опция должна быть всегда включена.</p><p><img src='https://find-books.ru/laravel/public/books/320767/Autogen_eBook_id133' alt=''></p>Рис. 2.75. Окно <b><i>Validator Engine Options, </i></b>вкладка <b><i>Tag Name Program </i></b></p><p>В разделе <b>Program Flags </b>(Флажки программы) расположены шестьдесят флажков, помеченные номерами от 1 до 60. Применение этих опций позволяет включать и отключать функции программы для тэгов, которые используются в программах тэга. Это, в свою очередь, позволяет написать программу тэга таким образом, чтобы ее поведение было скоординировано с установкой или отключением соответствующего флажка. Например, может быть предусмотрено оповещение пользователей о тэгах, которые работают только в некоторых программах просмотра. Если вы не хотите видеть эти сообщения, в программе тэга можно допустить их исключение в случае, если не установлен определенный флажок. По умолчанию все флажки поставлены. Их взаимодействие с имеющейся HTML-конфигурацией будет рассмотрено в соответствующем разделе. <p>Вкладка <b>Logging </b>(Ведение журнала) окна <b>Validator Engine Options </b>предназначена для настройки параметров журнала регистрации. Вести журнал целесообразно, если вы не хотите рассматривать отчеты каждого файла по отдельности, а предпочитаете исследовать весь сайт целиком и только потом будете выяснять, какие документы могут вызвать проблемы. Используя файл регистрации (один), вы быстро определите документы, которые требуют особого внимания. Запомните только, что если вы ведете журнал и не удаляете время от времени ненужные материалы, он может непомерно разрастись. Поле <b>Log reports to filename </b>(Имя файла журнала регистрации) в разделе <b>File Options </b>(Параметры файла) служит для ввода полного имени файла, предназначенного для регистрации результатов проверки правильности кода в случае, когда такая регистрация разрешена.</p><p>В разделе <b>Options </b>(Параметры) собраны следующие опции:</p><p>• <b>Enable logging </b>(Разрешить ведение журнала) – результаты проверки HTML-документов записываются в файл – журнал регистрации;</p><p>• <b>Log error messages </b>(Регистрировать сообщения об ошибках) – в журнал заносятся все сообщения об ошибках, замеченных программой при проверке;</p><p>• <b>Log warning messages </b>(Регистрировать предупреждения) – записываются все предупреждения, генерируемые программой при проверке;</p><p>• <b>Include HTML lines containing errors and/or warnings </b>(Включить строки HTML-кода, содержащие ошибки и/или предупреждения) – в журнал будут включены строки HTML-документа, из-за которых возникли ошибки или предупреждающие сообщения. При этом должны быть поставлены флажки <b>Log error messages </b>или <b>Log warning messages, </b>потому что соответствующая строка не будет учитываться, если не зарегистрировано предупреждение или сообщение об ошибках.</p><b>Настройка HTML-конфигурации </b><p>В программе проверки правильности HTML-кода предусмотрена настройка HTML-конфигурации на различные категории тэгов языка: HTML 4.0, расширения Netscape, расширения Microsoft Internet Explorer, Cold Fusion и т. д.</p><p>Важная особенность включенной HTML-конфигурации заключается в том, что категории HTML сформированы на основе своих предыдущих версий: категория HTML 4.0 основана на HTML 3.2, а последняя, в свою очередь, – на HTML 2.0. Так, для проверки кода на соответствие рекомендациям HTML 3.2, наряду с указанной категорией следует активизировать HTML 2.0. Для проверки на соответствие рекомендациям HTML 4.0 наряду с ней следует активизировать также HTML 2.0 и HTML 3.2.</p><p>Для проверки правильности кода для Microsoft Internet Explorer и его расширений следует активизировать категории HTML 2.0, HTML 3.2 и, начиная с версии Internet Explorer 4.0, – HTML 4.0. При этом для расширений Microsoft Internet Explorer 4.0 нужно активизировать и расширения Microsoft Internet Explorer 3.0.</p><p>Подобный подход применим и к расширениям Netscape: требуется выбрать категорию расширений, соответствие которой проверяется, а также категории HTML 2.0, HTML 3.2, HTML 4.0 и др., поддерживаемые Netscape (в зависимости от версии).</p><p>Для проверки WebTV требуются, по крайней мере, категории HTML, расширения Microsoft Internet Explorer, расширения Netscape и Tables (Таблицы).</p><p>По умолчанию все категории активны. Рекомендуется таковыми их и оставить.</p><p>Категории Dynamic HTML и Scripting & Applets настраиваются единообразно: если активна одна, то и другая должна быть активной; и наоборот.</p><p>В категории Obsolete содержатся тэги: LISTING, NOTE, PLAINTEXT и XMP; в Miscellaneous – тэг NEXTID и атрибуты MSIMAGELIST, NATURALSIZEFLAG и NOSAVE. В категории General содержится тэг CSEIGNORE., используемый для указания программе тэгов, проверку которых проводить не требуется.</p><p><b>Флажки. </b>HTML-конфигурация может быть настроена таким образом, что при проверке правильности HTML-кода для любого тэга может быть выполнена своя программа. При этом поведение программы может изменяться в зависимости от установки определенных флажков. Обычно при включении какого-либо из них появляются предупреждения и сообщения об ошибках. Большинство из них начинается с комбинации символов [x], где <i>x </i>– номер флажка. Такая отметка позволяет легко определить, какой флажок следует снять, чтобы убрать сообщение, которое, по вашему мнению, не требуется отображать при проверке. Однако учтите, что таким образом вы отключаете множество сообщений. Для того чтобы всесторонне оценить результат отключения какого-либо флажка, воспользуйтесь информацией, имеющейся в справочной системе программы (на английском языке).</p><p>Обратите внимание, что неперечисленные в справочной системе флажки в существующей HTML-конфигурации фактически не используются. Эти опции зарезервированы для применения в последующих HTML-конфигурациях. Эффекты применения некоторых флажков могут слегка различаться в зависимости от версии программы, которой вы пользуетесь для проверки правильности HTML-кода.</p><p>Приведем пример описания для флажков номер 1 и 2.</p><p>При установке флажка 1, встретив перечисленные ниже тэги и атрибуты, программа выводит сообщения о том, что они используются исключительно в браузере Microsoft Internet Explorer:</p><p>• тэг ACRONYM;</p><p>• тэг BGSOUND;</p><p>• атрибут BGPROPERTIES в тэге BODY;</p><p>• атрибут LEFTMARGIN и/или TOPMARGIN в тэге BODY;</p><p>• тэг BUTTON;</p><p>• атрибут VALIGN в тэге CAPTION;</p><p>• тэги COL или COLGROUP;</p><p>• тэг COMMENT</p><p>• тэг DEL;</p><p>• тэг DFN;</p><p>• тэг FIELDSET;</p><p>• атрибут COLOR в тэге HR;</p><p>• тэг IFRAME;</p><p>• атрибуты CONTROLS, DYNSRC, LOOP, LOOPDELAY, START и/или VRML в тэге IMG;</p><p>• тэг INS;</p><p>• тэг LABEL;</p><p>• тэг LEGEND;</p><p>• тэг MARQUEE, используемый также в WebTV;</p><p>• тэг OBJECT;</p><p>• тэг Q;</p><p>• атрибуты BORDERCOLOR, BORDERCOLORDARK, BORDERCOLORLIGHT, FRAME и/или RULES в тэге TABLE;</p><p>• атрибуты BORDERCOLOR, BORDERCOLORDARK и/или BORDERCOLORLIGHT в тэгах TD, TH или TR;</p><p>• тэги TBODY, THEAD или TFOOT.</p><p>При установке флажка 2, встретив указанные ниже тэги и атрибуты, программа выводит сообщения, что они используются исключительно в браузере Netscape:</p><p>• атрибут ARCHIVE в тэге APPLET;</p><p>• атрибут COLOR в тэге BASEFONT;</p><p>• тэг BLINK;</p><p>• атрибуты MARGINHEIGHT или MARGINWIDTH в тэге BODY;</p><p>• атрибуты POINT-SIZE или WEIGHT в тэге FONT;</p><p>• тэг ILAYER;</p><p>• тэг KEYGEN;</p><p>• тэг LAYER;</p><p>• тэг MULTICOL;</p><p>• тэг SPACER, используемый также в WebTV;</p><p>• атрибут BACKGROUND в тэге TR;</p><p>Чтобы полностью исключить работу программ для тэгов, следует воспользоваться параметром <b>Enable programs </b>в окне <b>Validator Engine Options </b>(см. раздел, посвященный настройке программы проверки). В этом случае никакие сообщения, которые генерируются такой программой, не выводятся. Скорость проверки при этом, конечно, возрастает. Однако, отключая программы тэгов, вы лишаетесь мощного инструмента программы проверки и значительно уменьшаете ее эффективность.</p><p>Если вы хотите отключить только некоторые программы, можно воспользоваться вкладкой <b>Programs </b>(Программы) окна <b>Validator HTML Configuration Editor </b>(Редактор HTML-конфигурации для программы проверки правильности кода), которое откроется при выборе команды <b>Tools </b>→ <b>Validator Options </b>→ <b>HTML configuration </b>(Инструменты → Параметры программы проверки кода → HTML-конфигурация). Отключите опции <b>Enable open program for tag </b>(Разрешить открывающую программу для тэга) или <b>Enable close program for tag option </b>(Разрешить закрывающую программу для тэга).</p><b>Редактор тэгов. </b>Программа проверки имеет мощнейшую базу для настройки на любой тэг. Такая настройка выполняется в специальном редакторе, который вызывается с помощью меню: <b>Tools </b>→ <b>Validator Options </b>→ <b>HTML configuration </b>(Инструменты → Параметры программы проверки кода → HTML-конфигурация). На экран будет выведено окно <b>Validator HTML Configuration Editor </b>(Редактор HTML-конфигурации для программы проверки правильности кода). Редактор позволяет добавить новые тэги и конфигурировать имеющиеся. Рассмотрим вкладку <b>Tag names </b>(Наименования тэгов), показанную на рис. 2.76. Начнем с раздела <b>Tag Name Controls </b>(Средства управления именами тэгов).</p></section> <div id="adfox_164786071391256813"></div> <script> window.yaContextCb.push(() => { Ya.adfoxCode.createAdaptive({ ownerId: 332443, containerId: 'adfox_164786071391256813', params: { p1: 'ctdwx', p2: 'gxmy' } }, ['desktop', 'tablet', 'phone'], { tabletWidth: 830, phoneWidth: 480, isAutoReloads: false }) }) </script> <div class="pagination"> <!-- if($content->bookInfo->litres_url == "" --> <a href="https://fb2.top/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-38" class="btn btn-outline-dark btn-block btn-lg mr-1">< Назад</a> <a href="#" class="btn btn-outline-dark btn-block btn-lg mx-1 mt-0" data-toggle="modal" data-target="#modalContents"><i class="fas fa-list-ul"></i></a> <a href="https://fb2.top/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-40" class="btn btn-outline-dark btn-block btn-lg mt-0 ml-1">Далее ></a> <!-- // if($content->bookInfo->litres_url == "" --> </div> </div> <div class="d-none d-lg-block col-lg-4 col-xl-4"> <div class="sidebar"> <div class="sidebar-inner"> <div class="sidebar-box tg mt-3 mt-lg-0 "> <div class="sidebar-content"> <div class="sidebar-title"><img src="/img/tg_logo_32.png"> ТЕЛЕГРАМ</div> <p>Канал с обзорами, анонсами новинок и книжными подборками</p> <a class="tg-btn" rel="nofollow" target="_blank" href="https://t.me/duosoft_books" onclick="ym(67247512,'reachGoal','5');"><img src="/img/vestnik.knig-32.jpg"> Книжный Вестник</a> <div class="grey-line mb-3"></div> <p>Бот для удобного поиска книг (если не нашлось на сайте)</p> <a class="tg-btn" rel="nofollow" target="_blank" href="https://t.me/fb2top_bot" onclick="ym(67247512,'reachGoal','6');"><img src="/img/bot-32.jpg"> Поиск книг</a> <div class="grey-line mb-3"></div> <p>Свежие любовные романы в удобных форматах</p> <a class="tg-btn" rel="nofollow" target="_blank" href="https://t.me/newlovebooks" onclick="ym(67247512,'reachGoal','7');"><img src="/img/newlovebooks-32.jpg"> Любовные романы</a> <div class="grey-line mb-3"></div> <p>О психологии, саморазвитии и личностном росте</p> <a class="tg-btn" rel="nofollow" target="_blank" href="https://t.me/hotpsychologybooks " onclick="ym(67247512,'reachGoal','21');"><img src="/img/hotpsychologybooks-32.jpg"> Саморазвитие</a> <div class="grey-line mb-3"></div> <p>Детективы и триллеры, все новинки</p> <a class="tg-btn" rel="nofollow" target="_blank" href="https://t.me/hotdetectivebooks" onclick="ym(67247512,'reachGoal','14');"><img src="/img/DETECTIVE-32.jpg"> Детективы</a> <div class="grey-line mb-3"></div> <p>Фантастика и фэнтези, все новинки </p> <a class="tg-btn" rel="nofollow" target="_blank" href="https://t.me/hotfantasticbooks" onclick="ym(67247512,'reachGoal','15');"><img src="/img/fantasy-32.jpg"> Фантастика</a> <div class="grey-line mb-3"></div> <p>Отборные классические книги </p> <a class="tg-btn" rel="nofollow" target="_blank" href="https://t.me/freeclassicbooks" onclick="ym(67247512,'reachGoal','16');"><img src="/img/classicbooks-32.jpg"> Классика</a> </div> </div> <div class="sidebar-box vk mt-3"> <div class="sidebar-content"> <div class="sidebar-title"><img src="/img/vk.png"> ВКОНТАКТЕ</div> <p>Цитаты, афоризмы, стихи, книжные подборки, обсуждения и многое другое</p> <a class="vk-btn" rel="nofollow" target="_blank" href="https://vk.com/duosoft_books" onclick="ym(67247512,'reachGoal','9');"><img src="/img/vestnik.knig-32.jpg"> Книжный Вестник</a> </div> </div> <div class="sidebar-box insta mt-3"> <div class="sidebar-content"> <div class="sidebar-title"> БИБЛИОТЕКИ</div> <p>Библиотека с любовными романами, которая наверняка придётся по вкусу женской части аудитории</p> <a class="insta-btn" target="_blank" href="https://ladylib.top"><img src="/img/newlovebooks-32.jpg"> Любовные романы</a> <div class="grey-line mb-3"></div> <p>Библиотека с фантастикой и фэнтези, а также смежных жанров</p> <a class="insta-btn" target="_blank" href="https://fictionbooks.top"><img src="/img/fantasy-32.jpg"> Фантастика</a> <div class="grey-line mb-3"></div> <p>Самые популярные книги в формате фб2</p> <a class="insta-btn" target="_blank" href="https://фб2.рф"><img src="/img/classicbooks-32.jpg"> Топ фб2 книги</a> </div> </div> </div> </div> </div> </div> </div> <div class="modal fade" id="modalContents" tabindex="-1" aria-labelledby="modalContentsTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable"> <div class="modal-content"> <div class="modal-header"> <h3 class="modal-title p-0">Оглавление</h3> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <a rel='nofollow' href='/abuse?bookId=320767'><i class='fas fa-exclamation-circle'></i> Пожаловаться</a><ul class='pl-2'><li class='mg-0 mt-3 mb-3'><a href='https://fb2.top/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767'>К описанию</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-1#1'>Александр Петрович Загуменов Как раскрутить и разрекламировать Web-сайт в сети Интернет</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-2#2'>Введение</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-3#3'>Глава 1 Этапы большого пути</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-4#4'>Собственное доменное имя</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-5#5'>Разработка семантического ядра</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-6#6'>Обновление информации</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-7#7'>Заголовки</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-8#8'>Метаданные</a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-9#9'> *** </a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-10#10'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-11#11'>Проверка ссылок</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-12#12'>Проверка ошибок кода в HTML-документах</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-13#13'>Шрифтовое оформление</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-14#14'>Время загрузки страниц</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-15#15'>Использование фреймов</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-16#16'>Проверка правописания</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-17#17'>Навигация по сайту</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-18#18'>Улучшение посещаемости сайта за счет обработки ошибок</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-19#19'>Перевод на другие языки</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-20#20'>Анонсирование в поисковых системах</a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-21#21'> *** </a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-22#22'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-23#23'>Как управлять индексированием</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-24#24'>Регистрация в каталогах</a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-25#25'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-26#26'>Баннерная реклама</a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-27#27'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-28#28'>Контекстная реклама</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-29#29'>Обмен ссылками</a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-30#30'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-31#31'>Почтовые рассылки</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-32#32'>Реклама вне WWW</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-33#33'>Другие технологии</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-34#34'>Глава 2 Автоматизация</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-35#35'>Сетевые средства</a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-36#36'> *** </a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-37#37'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-38#38'>Программы</a></li><li class='actual mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-39#39'> *** </a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-40#40'> *** </a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-41#41'> *** </a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-42#42'> *** </a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-43#43'> *** </a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-44#44'> *** </a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-45#45'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-46#46'>Глава 3 Работа с поисковыми системами и каталогами</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-47#47'>Обзор поисковых систем</a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-48#48'> *** </a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-49#49'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-50#50'>Обзор наиболее известных каталогов</a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-51#51'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-52#52'>Программы для автоматического заполнения форм</a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-53#53'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-54#54'>Сетевые средства регистрации</a></li><li class=' mt-1 mg-0'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-55#55'> *** </a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-56#56'>Программы-регистраторы</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-57#57'>Глава 4 Статистика</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-58#58'>Системы статистики в Internet</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-59#59'>Анализ файлов посещений</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-60#60'>Время загрузки страниц</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-61#61'>Краткий бюллетень Internet</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-62#62'>Организации</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-63#63'>HTML</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-64#64'>JavaScript</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-65#65'>Java</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-66#66'>CGI</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-67#67'>Perl</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-68#68'>PHP</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-69#69'>Электронные издания</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-70#70'>Советы Web-мастеру</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-71#71'>Каскадные (иерархические) таблицы стилей</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-72#72'>Программное обеспечение</a></li><li class=' mt-1 mg-1'><a href='/kak-raskrutity-i-razreklamirovaty-web-sayt-v-seti-internet-320767/read/part-73#73'>Литература</a></li></ul> </div> </div> </div> </div> <div class="modal fade" id="modalNote" tabindex="-1" role="dialog" aria-labelledby="modalNotesTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-body"> </div> <div class="modal-footer"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">закрыть</span> </button> </div> </div> </div> </div> <div id="reader_nodes" class="d-none"> </div> <div id="loader-fullscreen"> <div class="d-flex justify-content-center align-items-center"> <div class="spinner-border" role="status"> <span class="sr-only">Загрузка...</span> </div> </div> </div> <input name="bookId" type="hidden" value="320767"> <input name="from_cache" type="hidden" value="0"> </div> <footer id="footer"> <div class="container menu-row"> <div> <a id="btn-zoom-plus" class="pl-1" href="#"><i class="fas fa-search-plus"></i></a> <a id="btn-zoom-minus" class="pl-3" href="#"><i class="fas fa-search-minus"></i></a> <a id="btn-moon" class="pl-3" href="#"><i class="far fa-moon"></i></a> <a id="btn-sun" class="pl-3" href="#"><i class="fas fa-sun "></i></a> </div> <div> </div> <div> <a class="tg btn px-1 d-inline d-lg-none" rel="nofollow" target="_blank" href="https://vk.com/duosoft_books" onclick="ym(67247512,'reachGoal','9');"><img src="/img/vk.png" class="img-fluid" alt="Наш паблик в ВК" title="Наш паблик в ВК"></a> <a class="tg btn px-1 d-inline" rel="nofollow" target="_blank" href="https://t.me/duosoft_books" onclick="ym(67247512,'reachGoal','5');"><img src="/img/tg_logo_32.png" class="img-fluid" alt="Наш Телеграм канал" title="Наш телеграм канал"><span class="d-none d-md-inline"> Наш канал</span></a> </div> </div> </footer> <!-- Styles --> <link rel="stylesheet preload" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" as="style" type="text/css"/> <!-- Scripts --> <script src="/lib/jquery-3.6.0.min.js" defer></script> <script src="/lib/bootstrap-4.6.0/js/bootstrap.min.js" defer></script> <script src="/lib/lib.js?v=2" defer></script> <script src="/js/model/settings.js" defer></script> <script src="/js/reader.js?v=20" defer></script> <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function (m, e, t, r, i, k, a) { m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) }; m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a) }) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(67247512, "init", { clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true }); </script> <noscript> <div><img src="https://mc.yandex.ru/watch/67247512" style="position:absolute; left:-9999px;" alt=""/></div> </noscript> <!-- /Yandex.Metrika counter --> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-177760544-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-177760544-1'); </script> <div class="modal fade" id="modalSocials" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable"> <div class="modal-content"> <div class="modal-header"> <h3 class="modal-title p-0">Нравится библиотека?</h3> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <p style="text-align: center">Присоединяйтесь к нашим литературным сообществам!</p> <a class="vk-btn" rel="nofollow" target="_blank" href="https://vk.com/duosoft_books" onclick="ym(67247512,'reachGoal','17');"><img src="/img/vk.png"> ВКОНТАКТЕ</a> <a class="tg-btn" rel="nofollow" target="_blank" href="https://t.me/duosoft_books" onclick="ym(67247512,'reachGoal','19');"><img src="/img/tg_logo_32.png"> В ТЕЛЕГРАМ</a> </div> </div> </div> </div> <div id="adfox_166480280077036586"></div> <script> setTimeout(() => { let shouldReload = true; window.yaContextCb.push(() => { Ya.adfoxCode.createAdaptive({ ownerId: 332443, containerId: 'adfox_166480280077036586', onClose: function (event) { shouldReload = false; }, type: 'floorAd', params: { p1: 'cvxjf', p2: 'heya' } }, ['phone'], { tabletWidth: 830, phoneWidth: 480, isAutoReloads: false }) }); setInterval(function () { if (shouldReload) { window.Ya.adfoxCode.reload('adfox_166480280077036586', {onlyIfWasVisible: true}); } }, 30000); }, 5000) </script> <div id="adfox_16996237345594861"></div> <script> if (screen.width >= 830) { window.yaContextCb.push(() => { Ya.adfoxCode.createAdaptive({ ownerId: 332443, type: 'floorAd', platform: 'desktop', containerId: 'adfox_16996237345594861', params: { p1: 'dabiu', p2: 'iqvg' } }, ['desktop', 'tablet'], { tabletWidth: 830, phoneWidth: 480, isAutoReloads: false }) }) } </script> </body> </html>