1) Подписываемся на событие OnEpilog модуля main.
Подробнее в документации:
https://dev.1c-bitrix.ru/learning/course/index.php...
Почему onEpilog? Потому что основной код страницы уже выполнен, а буферизация еще не закончена.
2) На событии:
- Проверяем что это не Ajax запрос
$req = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
// $req->isAjaxRequest()
- Проверяем что страница не админка (будет определена константа ADMIN_SECTION и она будет true)
И если ок, то регистрируем и подключаем свою js-библиотеку и подключаем ее.
Подробнее о js-библиотеках:
https://dev.1c-bitrix.ru/api_help/js_lib/my_extens...
3) В коде своей библиотеки регистрируем подписку, как вы указали