войти

JS-виджет

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

Подключение

<script src="https://agent-mark.ru/widget.js" data-site="pk_…" async></script>

Вставьте перед закрывающим </body> на всех страницах. Готовый код с ключом вашего сайта — в кабинете на странице сайта, блок «код для сайта».

Блок «код для сайта»: строка script с ключом и кнопка «скопировать»
Блок «код для сайта» в кабинете

Как работает

  1. Скрипт находит текст статьи: элемент из data-selector или первый найденный из [data-agent-mark], [itemprop="articleBody"], article, .entry-content, .post-content, .article-content, main, body.
  2. Отправляет на сервер видимый текст статьи (не HTML), адрес страницы и публичный ключ. Данные читателя не отправляются.
  3. Сервер отвечает планом: после каких позиций вставить значки и какие сноски показать.
  4. Скрипт вставляет значки <sup class="am-mark"> с подсказкой при наведении, блок сносок <div class="am-footnotes"> в конце текста, а при доп. услуге — предупреждение о вреде наркотиков перед текстом.
Статья после работы виджета: звёздочки у имён Татьяны Становой, «Совы» и «Радио Сахаров», сноски внизу
Так статья выглядит после работы виджета с настройками по умолчанию

Пометки видят читатели, но в исходном HTML страницы их нет: поисковики, RSS-агрегаторы и проверки, которые не выполняют скрипты, их не увидят. Если это важно — плагин или API.

Атрибуты скрипта

АтрибутЧто делает
data-siteПубличный ключ сайта pk_…. Обязателен.
data-selectorCSS-селектор блока с текстом статьи, например .article-body. Без него — первый найденный элемент из списка выше.
data-apiАдрес сервера. Обычно не нужен: берётся адрес, откуда загружен скрипт.

Чтобы не размечать элемент — комментарии, рекламный блок, список похожих статей, — добавьте ему атрибут data-am-ignore. Текст внутри script, style, code, pre, полей ввода и кнопок не размечается.

Домены

Ключ работает только на доменах, указанных в кабинете: сервер проверяет заголовок Origin, который браузер ставит сам, и скрипт на чужом сайте подделать его не может. www. разрешён всегда; другие поддомены (blog.example.ru) — галочка «разрешить все поддомены» в настройках сайта, доступна на тарифе «медиа». С чужого домена сервер отвечает 403 и пометок не ставит.

Тариф

Виджет ставит пометки, пока у сайта действует оплаченный тариф; без него сервер отвечает 403, и страница остаётся без пометок. Какие реестры размечаются, зависит от тарифа — сравнение тарифов.

Вид пометок

Вид пометки (значок и сноски, статус в скобках, то и другое), значок сноски, цвет и курсив статуса — настройки в кабинете; виджет применяет их в течение минуты. Оформить значки и сноски под дизайн сайта можно своими стилями по классам am-mark, am-inline, am-footnotes, am-warning.

Однофамильцы

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

Ограничения

  • Текст одной страницы — до 200 000 символов; длиннее не размечается.
  • До 1 200 запросов в минуту на сайт и до 120 — с одного адреса читателя; сверх этого сервер отвечает 429.
  • Пока словарь обновляется, сервер отвечает 503 — виджет ничего не ставит, страница читателя не ломается.