<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%85%D0%B2%D0%B0%D1%82%D0%B0_XHR-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9</id>
	<title>Настройка Мониторинга реального пользователя для захвата XHR-действий - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%85%D0%B2%D0%B0%D1%82%D0%B0_XHR-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%85%D0%B2%D0%B0%D1%82%D0%B0_XHR-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9&amp;action=history"/>
	<updated>2026-09-16T14:27:52Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%85%D0%B2%D0%B0%D1%82%D0%B0_XHR-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9&amp;diff=6382&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «= Настройка Мониторинга реального пользователя для захвата XHR-действий =  Современные ве...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%85%D0%B2%D0%B0%D1%82%D0%B0_XHR-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9&amp;diff=6382&amp;oldid=prev"/>
		<updated>2026-05-25T20:19:56Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Настройка Мониторинга реального пользователя для захвата XHR-действий =  Современные ве...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Настройка Мониторинга реального пользователя для захвата XHR-действий =&lt;br /&gt;
&lt;br /&gt;
Современные веб-приложения не полагаются на загрузку страниц для изменения пользовательского интерфейса после действий пользователя. Вместо этого каждое взаимодействие пользователя запускает один или несколько запросов &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; для получения необходимых данных, изменяя лишь части интерфейса. При активации поддержки &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;-действий вы получаете видимость каждого вида взаимодействия пользователя, а не только обычных загрузок страниц, которые фиксируются по умолчанию. Эта опция значительно расширяет видимость в средах одностраничных приложений (&amp;#039;&amp;#039;&amp;#039;SPA&amp;#039;&amp;#039;&amp;#039;), построенных на различных &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039;-фреймворках.&lt;br /&gt;
&lt;br /&gt;
== Поддерживаемые JavaScript-фреймворки ==&lt;br /&gt;
Мы предлагаем специальную поддержку для &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 2–16. Для &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 17+ требуется дополнительная настройка. Если в вашем приложении используется другой &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039;-фреймворк, попробуйте активировать общую поддержку.&lt;br /&gt;
&lt;br /&gt;
== Прекращение специальной поддержки для некоторых JavaScript-фреймворков ==&lt;br /&gt;
Мы прекратили предоставление специальной поддержки для следующих &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039;-фреймворков с выпуском &amp;#039;&amp;#039;&amp;#039;RUM JavaScript&amp;#039;&amp;#039;&amp;#039; версии 1.265 и версии Ключ-АСТРОМ 1.266.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! JavaScript-фреймворки !! Версии&lt;br /&gt;
|-&lt;br /&gt;
| AngularJS || 1.0 - 1.7&lt;br /&gt;
|-&lt;br /&gt;
| Angular with SystemJS || 2 - 15&lt;br /&gt;
|-&lt;br /&gt;
| Dojo || 1.6.1 - 1.13&lt;br /&gt;
|-&lt;br /&gt;
| Ext JS || 3.4, 4, 5, 6&lt;br /&gt;
|-&lt;br /&gt;
| ICEfaces || 1.8, 2, 3&lt;br /&gt;
|-&lt;br /&gt;
| jQuery (Backbone.js) || 1.3 - 1.12, 2.0 - 2.2, 3.0 - 3.6&lt;br /&gt;
|-&lt;br /&gt;
| MooTools || 1.4.5 - 1.6.0&lt;br /&gt;
|-&lt;br /&gt;
| Prototype || 1.7&lt;br /&gt;
|-&lt;br /&gt;
| Sencha Touch || 2.0 - 2.4&lt;br /&gt;
|}&lt;br /&gt;
Если вы используете один из этих фреймворков, активируйте общую поддержку. Кроме того, если вы создали свою среду до версии Ключ-АСТРОМ 1.266, вы можете использовать версию &amp;#039;&amp;#039;&amp;#039;RUM JavaScript&amp;#039;&amp;#039;&amp;#039;, которая предлагает специальную поддержку для вашего фреймворка.&lt;br /&gt;
# Перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Веб&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Выберите приложение, которое хотите настроить.&lt;br /&gt;
# В правом верхнем углу страницы обзора приложения выберите &amp;#039;&amp;#039;&amp;#039;Дополнительно&amp;#039;&amp;#039;&amp;#039; (…) &amp;gt; &amp;#039;&amp;#039;&amp;#039;Редактировать&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В настройках приложения выберите &amp;#039;&amp;#039;&amp;#039;Внедрение&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Обновления RUM JavaScript&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Выберите опцию &amp;#039;&amp;#039;&amp;#039;Latest IE7-10 supported&amp;#039;&amp;#039;&amp;#039; из выпадающего списка.&lt;br /&gt;
&lt;br /&gt;
== Активация поддержки Angular 2–16 ==&lt;br /&gt;
Чтобы включить поддержку &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 2–16:&lt;br /&gt;
# Перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Веб&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Выберите приложение, которое хотите настроить.&lt;br /&gt;
# В правом верхнем углу страницы обзора приложения выберите &amp;#039;&amp;#039;&amp;#039;Дополнительно&amp;#039;&amp;#039;&amp;#039; (…) &amp;gt; &amp;#039;&amp;#039;&amp;#039;Редактировать&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В настройках приложения выберите &amp;#039;&amp;#039;&amp;#039;Захват&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Асинхронные веб-запросы и SPA&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В разделе &amp;#039;&amp;#039;&amp;#039;Поддержка JavaScript-фреймворка&amp;#039;&amp;#039;&amp;#039; включите переключатель &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# &amp;lt;code&amp;gt;Angular 12+&amp;lt;/code&amp;gt; Введите имя пакета &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Что такое имя пакета Angular? ===&lt;br /&gt;
Начиная с &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; версии 12, вы должны указать имя пакета &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; вашего приложения в настройках Ключ-АСТРОМ. В противном случае Мониторинг реального пользователя не будет работать. Для &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 12 имя пакета зависит от имени проекта и больше не является статичным, в то время как для &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 11 и более ранних версий именем пакета всегда является &amp;lt;code&amp;gt;webpackjsonp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы найти имя пакета &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; для вашего приложения:&lt;br /&gt;
# Откройте инструменты разработчика вашего браузера и перейдите на вкладку &amp;#039;&amp;#039;&amp;#039;Консоль&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Начните вводить &amp;lt;code&amp;gt;webpackChunk&amp;lt;/code&amp;gt;. Браузер должен отобразить имя пакета для вашего приложения &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Скопируйте это имя. Например, имя пакета на скриншоте ниже — &amp;lt;code&amp;gt;webpackChunklite&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Если вы видите несколько записей &amp;lt;code&amp;gt;webpackChunk&amp;lt;/code&amp;gt; в консоли, выберите ту, которая соответствует имени вашего приложения. Также попробуйте отключить расширения браузера, чтобы получить более чистый список.&lt;br /&gt;
# Если в консоли нет записей &amp;lt;code&amp;gt;webpackChunk&amp;lt;/code&amp;gt;, вы, вероятно, используете &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; версии 11 или более ранней. В этом случае вам не нужно указывать имя пакета &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Вставьте имя, скопированное на шаге 2, в поле &amp;#039;&amp;#039;&amp;#039;Имя пакета Angular&amp;#039;&amp;#039;&amp;#039; в настройках вашего приложения.&lt;br /&gt;
&lt;br /&gt;
== Активация поддержки Angular 17+ ==&lt;br /&gt;
Поскольку &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 17 по умолчанию использует &amp;lt;code&amp;gt;esbuild&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;Webpack&amp;lt;/code&amp;gt;, &amp;#039;&amp;#039;&amp;#039;RUM JavaScript&amp;#039;&amp;#039;&amp;#039; больше не может автоматически инструментировать &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039;. По этой причине, если для вашего приложения используется &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 17+, требуется дополнительная настройка. Чтобы включить поддержку &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 17+, выполните следующие действия.&lt;br /&gt;
&lt;br /&gt;
=== Активация общей поддержки JavaScript-фреймворков ===&lt;br /&gt;
# Перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Веб&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Выберите приложение, которое хотите настроить.&lt;br /&gt;
# В правом верхнем углу страницы обзора приложения выберите &amp;#039;&amp;#039;&amp;#039;Дополнительно&amp;#039;&amp;#039;&amp;#039; (…) &amp;gt; &amp;#039;&amp;#039;&amp;#039;Редактировать&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В настройках приложения выберите &amp;#039;&amp;#039;&amp;#039;Захват&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Асинхронные веб-запросы и SPA&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В разделе &amp;#039;&amp;#039;&amp;#039;Поддержка JavaScript-фреймворка&amp;#039;&amp;#039;&amp;#039; выключите переключатель &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В разделе &amp;#039;&amp;#039;&amp;#039;Общая поддержка&amp;#039;&amp;#039;&amp;#039; включите необходимые опции.&lt;br /&gt;
#* Включите &amp;#039;&amp;#039;&amp;#039;Захват запросов &amp;lt;code&amp;gt;fetch()&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; для захвата данных о действиях пользователя на основе &amp;#039;&amp;#039;&amp;#039;Fetch API&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
#* Включите &amp;#039;&amp;#039;&amp;#039;Захват XmlHttpRequest (XHR)&amp;#039;&amp;#039;&amp;#039; для захвата любого взаимодействия, которое приводит к вызову &amp;lt;code&amp;gt;XmlHttpRequest&amp;lt;/code&amp;gt;, как &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;-действия.&lt;br /&gt;
&lt;br /&gt;
=== Реализация перехвата исключений ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; имеет стандартный обработчик исключений ([https://angular.io/api/core/ErrorHandler ErrorHandler]), который перехватывает исключения и записывает их в консоль с помощью &amp;lt;code&amp;gt;console.error&amp;lt;/code&amp;gt;. Однако иногда используется пользовательский обработчик исключений для перехвата ошибок.&lt;br /&gt;
&lt;br /&gt;
==== Стандартный обработчик исключений ====&lt;br /&gt;
Если используется стандартный обработчик исключений, включите захват ошибок консоли, чтобы &amp;#039;&amp;#039;&amp;#039;RUM JavaScript&amp;#039;&amp;#039;&amp;#039; мог перехватывать исключения для ваших приложений &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 17+.&lt;br /&gt;
# Перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Веб&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Выберите приложение, которое хотите настроить.&lt;br /&gt;
# В правом верхнем углу страницы обзора приложения выберите &amp;#039;&amp;#039;&amp;#039;Дополнительно&amp;#039;&amp;#039;&amp;#039; (…) &amp;gt; &amp;#039;&amp;#039;&amp;#039;Редактировать&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В настройках приложения выберите &amp;#039;&amp;#039;&amp;#039;Захват&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Пользовательские свойства конфигурации&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Выберите &amp;#039;&amp;#039;&amp;#039;Добавить пользовательское свойство конфигурации&amp;#039;&amp;#039;&amp;#039; и введите &amp;lt;code&amp;gt;cce=1&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;cce&amp;lt;/code&amp;gt; означает захват ошибок консоли. Когда эта опция включена, &amp;#039;&amp;#039;&amp;#039;RUM JavaScript&amp;#039;&amp;#039;&amp;#039; сообщает о первом объекте &amp;lt;code&amp;gt;Error&amp;lt;/code&amp;gt; или строке, которые он может найти в аргументах, переданных в &amp;lt;code&amp;gt;console.error&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Пользовательский обработчик исключений ====&lt;br /&gt;
Если у вас есть пользовательский обработчик исключений и исключения не записываются в консоль, вам необходимо сообщать об исключениях вручную.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
export class CustomErrorHandler implements ErrorHandler {&lt;br /&gt;
  handleError(error: any): void {&lt;br /&gt;
    // Сообщить об ошибке&lt;br /&gt;
    window.dtrum?.reportError(error);&lt;br /&gt;
    // пользовательская обработка ошибок&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
@NgModule({&lt;br /&gt;
  ...,&lt;br /&gt;
  providers: [{provide: ErrorHandler, useClass: CustomErrorHandler}]&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Настройка обнаружения групп страниц ===&lt;br /&gt;
Обнаружение страниц и групп страниц по умолчанию основано на URL — а именно на путях и идентификаторах, которые Ключ-АСТРОМ обнаруживает автоматически. Если группировка страниц по умолчанию неверна или вы хотите ее изменить, вы можете вручную сообщать группы страниц с помощью &amp;#039;&amp;#039;&amp;#039;Angular Router&amp;#039;&amp;#039;&amp;#039;. Приведенный ниже пример кода можно использовать для получения группы страниц из &amp;lt;code&amp;gt;routeConfig&amp;lt;/code&amp;gt;, где имена-заполнители все еще доступны (например, &amp;lt;code&amp;gt;/journey/:id&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;/journey/1235&amp;lt;/code&amp;gt;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
@NgModule({&lt;br /&gt;
  imports: [RouterModule.forRoot(routes)],&lt;br /&gt;
  exports: [RouterModule]&lt;br /&gt;
})&lt;br /&gt;
export class AppRoutingModule {&lt;br /&gt;
  constructor(private router: Router) {&lt;br /&gt;
    window.dtrum?.enableManualPageDetection();&lt;br /&gt;
    this.router.events.subscribe((value: Event) =&amp;gt; {&lt;br /&gt;
      if (value.type === EventType.ActivationEnd) {&lt;br /&gt;
        const snapshot = value.snapshot;&lt;br /&gt;
        if (snapshot.routeConfig) {&lt;br /&gt;
          const group = snapshot.routeConfig.path;&lt;br /&gt;
          const name = snapshot.url.join(&amp;quot;/&amp;quot;);&lt;br /&gt;
          window.dtrum?.setPage({ name, group });&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== dT_.initAngularNg() ===&lt;br /&gt;
Не вызывайте &amp;lt;code&amp;gt;dT_.initAngularNg()&amp;lt;/code&amp;gt;, так как он больше не работает с &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 17. Это ничего не сломает, но и не даст никакого эффекта. Для &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 2–16 &amp;lt;code&amp;gt;dT_.initAngularNg&amp;lt;/code&amp;gt; используется для передачи объектов &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Headers&amp;#039;&amp;#039;&amp;#039; в Ключ-АСТРОМ при использовании &amp;lt;code&amp;gt;HttpModule&amp;lt;/code&amp;gt; из &amp;lt;code&amp;gt;@angular/http&amp;lt;/code&amp;gt; или для передачи объектов &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;HttpHeaders&amp;#039;&amp;#039;&amp;#039; в Ключ-АСТРОМ при использовании &amp;lt;code&amp;gt;HttpClientModule&amp;lt;/code&amp;gt; из &amp;lt;code&amp;gt;@angular/common/http&amp;lt;/code&amp;gt; (&amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039; 5+).&lt;br /&gt;
&lt;br /&gt;
== Активация общей поддержки JavaScript-фреймворков ==&lt;br /&gt;
Если ваше приложение использует &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039;-фреймворк, отличный от &amp;#039;&amp;#039;&amp;#039;Angular&amp;#039;&amp;#039;&amp;#039;, включите общую поддержку для веб-запросов &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; и &amp;lt;code&amp;gt;fetch()&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Веб&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Выберите приложение, которое хотите настроить.&lt;br /&gt;
# В правом верхнем углу страницы обзора приложения выберите &amp;#039;&amp;#039;&amp;#039;Дополнительно&amp;#039;&amp;#039;&amp;#039; (…) &amp;gt; &amp;#039;&amp;#039;&amp;#039;Редактировать&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В настройках приложения выберите &amp;#039;&amp;#039;&amp;#039;Захват&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Асинхронные веб-запросы и SPA&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В разделе &amp;#039;&amp;#039;&amp;#039;Общая поддержка&amp;#039;&amp;#039;&amp;#039; включите необходимые опции:&lt;br /&gt;
#* Включите &amp;#039;&amp;#039;&amp;#039;Захват запросов &amp;lt;code&amp;gt;fetch()&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; для захвата данных о действиях пользователя на основе &amp;#039;&amp;#039;&amp;#039;Fetch API&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
#* Включите &amp;#039;&amp;#039;&amp;#039;Захват XmlHttpRequest (XHR)&amp;#039;&amp;#039;&amp;#039; для захвата любого взаимодействия, которое приводит к вызову &amp;lt;code&amp;gt;XmlHttpRequest&amp;lt;/code&amp;gt;, как &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;-действия.&lt;br /&gt;
&lt;br /&gt;
== Включение поддержки timed actions ==&lt;br /&gt;
В зависимости от фреймворка &amp;#039;&amp;#039;&amp;#039;XHR (AJAX)&amp;#039;&amp;#039;&amp;#039; или архитектуры вашего приложения вам может дополнительно потребоваться включить настройку поддержки timed actions. Эта настройка необходима, когда приложение не запускает вызовы &amp;#039;&amp;#039;&amp;#039;XHR (AJAX)&amp;#039;&amp;#039;&amp;#039; напрямую в обработчиках событий &amp;#039;&amp;#039;&amp;#039;HTML&amp;#039;&amp;#039;&amp;#039;-элементов, а вместо этого откладывает их с помощью вызовов &amp;lt;code&amp;gt;SetTimeout&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Веб&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Выберите приложение, которое хотите настроить.&lt;br /&gt;
# В правом верхнем углу страницы обзора приложения выберите &amp;#039;&amp;#039;&amp;#039;Дополнительно&amp;#039;&amp;#039;&amp;#039; (…) &amp;gt; &amp;#039;&amp;#039;&amp;#039;Редактировать&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В настройках приложения выберите &amp;#039;&amp;#039;&amp;#039;Захват&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Захват контента&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Включите &amp;#039;&amp;#039;&amp;#039;Поддержка timed actions&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Исключение определенных XHR-вызовов из мониторинга ==&lt;br /&gt;
Когда ваше приложение выполняет запрос &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; или &amp;#039;&amp;#039;&amp;#039;Fetch&amp;#039;&amp;#039;&amp;#039;, он может быть захвачен одним из следующих способов:&lt;br /&gt;
* Если в данный момент не активно ни одно другое действие пользователя и &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; был вызван взаимодействием пользователя, фиксируется отдельное &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;-действие.&lt;br /&gt;
* Если в данный момент активно другое действие пользователя и &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; не был вызван взаимодействием пользователя, активное действие пользователя расширяется, включая продолжительность &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Вы можете исключить определенные &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;-вызовы из мониторинга — например, если ваше приложение отправляет частые статусные &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;-вызовы, которые вы не хотите видеть в своих пользовательских данных. При исключении этих запросов:&lt;br /&gt;
* Отдельные &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;-действия не фиксируются.&lt;br /&gt;
* Исключенные &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; не продлевают продолжительность других действий пользователя.&lt;br /&gt;
Однако они могут по-прежнему отображаться в водопадном анализе, если активна поддержка временных меток ресурсов &amp;#039;&amp;#039;&amp;#039;W3C&amp;#039;&amp;#039;&amp;#039; (настройки приложения &amp;gt; &amp;#039;&amp;#039;&amp;#039;Захват&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Захват контента&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Поддержка временных меток ресурсов W3C&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
=== Настройка правил исключения XHR ===&lt;br /&gt;
Чтобы исключить &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;-вызовы из мониторинга:&lt;br /&gt;
# Перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Веб&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Выберите приложение, которое хотите настроить.&lt;br /&gt;
# В правом верхнем углу страницы обзора приложения выберите &amp;#039;&amp;#039;&amp;#039;Дополнительно&amp;#039;&amp;#039;&amp;#039; (…) &amp;gt; &amp;#039;&amp;#039;&amp;#039;Редактировать&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В настройках приложения выберите &amp;#039;&amp;#039;&amp;#039;Захват&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Исключения&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;Исключения XHR&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Выберите &amp;#039;&amp;#039;&amp;#039;Добавить правило исключения XHR&amp;#039;&amp;#039;&amp;#039; и укажите регулярное выражение &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039;, которое соответствует URL-адресам запросов, которые вы хотите исключить.&lt;br /&gt;
&lt;br /&gt;
=== Избегайте неэффективных регулярных выражений ===&lt;br /&gt;
Неэффективные регулярные выражения могут вызвать проблемы с производительностью в вашем приложении, включая зависания браузера на несколько секунд. Для повышения производительности пишите выражения, которые соответствуют подстроке URL, а не всему URL. Это особенно актуально для длинных URL.&lt;br /&gt;
&lt;br /&gt;
=== Как применяются правила исключения XHR ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;RUM JavaScript&amp;#039;&amp;#039;&amp;#039; проверяет регулярное выражение на соответствие URL с помощью [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test RegExp.prototype.test()]. Регулярное выражение не обязательно должно соответствовать полному URL, а только его подстроке. URL может быть относительным или абсолютным, в зависимости от того, что было передано в вызов &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; или &amp;#039;&amp;#039;&amp;#039;Fetch&amp;#039;&amp;#039;&amp;#039;. Сопоставление нечувствительно к регистру, а прямые слеши (/) не нужно экранировать.&lt;br /&gt;
&lt;br /&gt;
=== Сайты для тестирования регулярных выражений ===&lt;br /&gt;
При составлении регулярного выражения с использованием такого сайта, как [https://regex101.com/ Regex101], выберите следующие параметры:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Flavor&amp;#039;&amp;#039;&amp;#039;: &amp;#039;&amp;#039;&amp;#039;ECMAScript (JavaScript)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Delimiter&amp;#039;&amp;#039;&amp;quot;: &amp;quot;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Флаг Case insensitive match&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Отсутствие XHR-действий при использовании promises ==&lt;br /&gt;
При использовании [https://web.dev/promises/ promises] Ключ-АСТРОМ не всегда создает действия пользователя, поэтому вы можете заметить, что некоторые &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039;-действия отсутствуют.&lt;br /&gt;
&lt;br /&gt;
Как Ключ-АСТРОМ обычно создает действия пользователя:&lt;br /&gt;
* Взаимодействие пользователя со страницей — например, щелчок, нажатие клавиши или событие прокрутки — регистрируется.&lt;br /&gt;
* Если запрос &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; или &amp;lt;code&amp;gt;fetch&amp;lt;/code&amp;gt; начинается в течение следующих 30 миллисекунд, создается действие пользователя. Если запрос начинается позже, действие пользователя не создается.&lt;br /&gt;
* 30-миллисекундный интервал продлевается на неопределенный срок для продолжающегося синхронного выполнения, например, когда длительное вычисление в коде приложения занимает более 30 мс, и &amp;#039;&amp;#039;&amp;#039;XHR&amp;#039;&amp;#039;&amp;#039; начинается только после завершения вычисления. Однако это применимо только тогда, когда выполнение осуществляется непосредственно в обработчике событий, и &amp;lt;code&amp;gt;setTimeout&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;setInterval&amp;lt;/code&amp;gt; или &amp;#039;&amp;#039;&amp;#039;promises&amp;#039;&amp;#039;&amp;#039; не используются.&lt;br /&gt;
&lt;br /&gt;
Используя &amp;#039;&amp;#039;&amp;#039;promises&amp;#039;&amp;#039;&amp;#039;, код может выполняться асинхронно. Когда выполнение кода завершено, исходный вызывающий объект уведомляется и может продолжить выполнение своего собственного кода. К сожалению, невозможно определить, когда выполнение кода будет завершено; оно может произойти или не произойти в течение 30-миллисекундного окна. По этой причине мы рекомендуем вам использовать &amp;#039;&amp;#039;&amp;#039;RUM JavaScript API&amp;#039;&amp;#039;&amp;#039; для создания действий в таких случаях.&lt;br /&gt;
&lt;br /&gt;
Чтобы проверить, использует ли действие пользователя &amp;#039;&amp;#039;&amp;#039;promises&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
# Откройте инструменты разработчика вашего браузера.&lt;br /&gt;
# Выполните действие в вашем веб-приложении.&lt;br /&gt;
# Проверьте инициатора запроса.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>