Какие символы допустимы в использовании в h1 теге?

  • 17 августа 2023 г. 8:15
Ответы на вопрос 3
В теге h1 и в атрибуте title допустимо использование следующих символов:
- Буквы латинского алфавита (a-z, A-Z)
- Цифры (0-9)
- Знаки препинания: запятая (,), точка (.), вопросительный знак (?), восклицательный знак (!), двоеточие (:), точка с запятой (;), дефис (-), подчеркивание (_)
- Пробелы и табуляции

Однако, для лучшей совместимости и безопасности рекомендуется использовать только символы из диапазона ASCII. Символы #, ", “ и « допустимы внутри тега h1 и в атрибуте title.
 , черты, вертикальные черты, восклицательные знаки и вопросительные знаки, а также кавычки. Эти символы являются безопасными и могут быть использованы в meta=title без проблем.
Некоторые символы имеют специальное значение в HTML, такие как <, >, &, и другие. Чтобы использовать их как обычные символы, следует их экранировать с помощью HTML-сущностей. Например, < должен быть заменен на <, а > на >. Внутри тегов  и <h> можно использовать символы без экранирования, если это имеет смысл и делает контент более информативным и удобным для поисковика и пользователя. Стоит быть осторожным с использованием символов, которые могут быть интерпретированы по-разному браузерами и поисковыми системами. Если вы не уверены, какие символы можно использовать, есть набор "проверенных/безопасных", таких как -, —, |, !, ?, и «».</pre>
                              </div>
                            </div>
                          </div>
                        </div>
                        </div>
                      </div>
                      

                  </div>
                </div>
              </div>
              <header class="section-header">
                <strong class="section-header__title">
                  Похожие вопросы
                </strong>
              </header>
              <ul class="content-list" id="related_questions_1298390">
                <div id="similar-records-list">
                  <!-- Similar records will be appended here -->
                </div>
              <span id="show-more" class="btn btn_outline_grey" role="related_more">
                <span class="more">Показать ещё</span>
              </span>
              
              </ul>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>




<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
// Initialize variables
let start = 0;
const limit = 5;

/**
 * Fetches a set of similar records and appends them to the list.
 * Hides the "Show More" button if there are no more records to fetch.
 */
function fetchSimilarRecords() {
    // AJAX request to fetch similar records
    $.ajax({
        url: window.location.href,
        type: 'get',
        data: { 'start': start, 'end': start + limit },
        dataType: 'json',
        success: handleSuccess,
        error: handleError
    });
}

/**
 * Handles the successful AJAX request.
 * Appends received records to the list and updates the 'start' variable.
 * @param {Object} data - The data received from the server.
 */
function handleSuccess(data) {
    if (!data || !data.similar_records) {
        return;
    }

    // Append records to the list
    const records = data.similar_records;
    records.forEach(record => {
        const listItem = `
            <li class="content-list__item" role="content-list_item">
                <div class="question question_short">
                    <div class="question__content">
                        <div class="question__content_fluid">
                            <div class="question__tags">
                                <ul class="tags-list tags-list_short">
                                    <li class="tags-list__item tag_357">
                                        <a href="/q/${record.question_id}">
                                            ${record.first_tag_name}
                                        </a>
                                    </li>
                                    ${record.remaining_tags_count ? `<li class="tags-list__item tags-list__item_more"> + ЕЩЁ ${record.remaining_tags_count} </li>` : ''}
                                </ul>
                            </div>
                            <h2 class="question__title">
                                <a class="question__title-link question__title-link_list" href="/q/${record.question_id}">
                                    ${record.reformulated_question}
                                </a>
                            </h2>
                        </div>
                    </div>
                </div>
            </li>
        `;
        $('#similar-records-list').append(listItem);
    });

    // Update the 'start' variable for the next set of records
    start += limit;

    // Hide the "Show More" button if all records have been fetched
    if (start >= data.total_count) {
        $('#show-more').hide();
    }
}

/**
 * Handles AJAX errors.
 * @param {Object} jqXHR - The jqXHR object.
 * @param {string} textStatus - The status as a string.
 * @param {string} errorThrown - The error thrown.
 */
function handleError(jqXHR, textStatus, errorThrown) {
    console.error(`AJAX error: ${textStatus}, ${errorThrown}`);
}

// Fetch the initial set of records when the document is ready
$(document).ready(() => {
    fetchSimilarRecords();

    // Attach the click handler to the "Show More" button
    $('#show-more').click(fetchSimilarRecords);
});
</script>


        <!-- <footer class="layout__footer">
          <div class="layout__footer_inner">
            <nav class="menu_services">
              <ul class="menu menu_inline">
                <li class="menu__item">
                  <a class="menu__item-link" href="https://company.habr.com/">
                    <span class="copyright_short">© Habr</span>
                  </a>
                </li>
                <li class="menu__item">
                  <a class="menu__item-link" href="help/about">О сервисе</a>
                </li>
                <li class="menu__item">
                  <a class="menu__item-link" href="help/rules">Правила</a>
                </li>
                <li class="menu__item">
                  <a class="menu__item-link" href="feedback">Обратная связь</a>
                </li>
                <li class="menu__item">
                  <a
                    class="menu__item-link"
                    href="https://habr.com/company/toster/"
                    >Блог</a
                  >
                </li>
              </ul>
            </nav>
            <nav class="menu_socials">
              <ul class="menu menu_inline">
                <li class="menu__item">
                  <a
                    class="menu__item-link tw"
                    href="https://twitter.com/toster_ru"
                    title="Наш аккаунт в Twitter"
                  >
                    <svg
                      class="icon_svg icon_social_twitter"
                      viewBox="0 0 39 32"
                    >
                      <use href="fonts/sprite.svg#icon_social_twitter" />
                    </svg>
                  </a>
                </li>
                <li class="menu__item">
                  <a
                    class="menu__item-link fb"
                    href="https://www.facebook.com/toster.ru"
                    title="Наша группа в Facebook"
                  >
                    <svg
                      class="icon_svg icon_social_facebook"
                      viewBox="0 0 17 32"
                    >
                      <use href="fonts/sprite.svg#icon_social_facebook" />
                    </svg>
                  </a>
                </li>
                <li class="menu__item">
                  <a
                    class="menu__item-link vk"
                    href="http://vk.com/toster_ru"
                    title="Наша группа на Вконтакте"
                  >
                    <svg class="icon_svg icon_social_vk" viewBox="0 0 56 32">
                      <use href="fonts/sprite.svg#icon_social_vk" />
                    </svg>
                  </a>
                </li>
              </ul>
            </nav>
          </div>
        </footer> -->
      </div>
    </div>
    <!-- <script src="js/frontend.js" nonce crossorigin="anonymous"></script> -->
  </body>
</html>