Задать вопрос
Ответы пользователя по тегу 1С-Битрикс
  • Как получить bitrix_sessid в js без подключения js-библиотеки Bitrix?

    @andry36
    на ум приходит несколько подходов:

    Парсинг HTML-страницы
    Bitrix обычно добавляет актуальный bitrix_sessid в скрытый input, либо в мета-тег. Например:

    <meta name="bitrix_sessid" content="abcd1234">

    Или:
    <input type="hidden" name="sessid" id="sessid" value="abcd1234">


    и в js получать:

    // Если используется мета-тег
    const bitrixSessid = document.querySelector('meta[name="bitrix_sessid"]').content;
    // Если используется скрытый input
    const bitrixSessid = document.querySelector('input[name="sessid"]').value;


    Если сервер настроен так, что сессия передаётся в cookies, возможно, bitrix_sessid можно извлечь оттуда:

    const cookies = document.cookie.split('; ').reduce((acc, cookie) => {
      const [key, value] = cookie.split('=');
      acc[key] = value;
      return acc;
    }, {});
    
    const bitrixSessid = cookies['bitrix_sessid'];


    если prolog_admin_before.php уже подключён, можно встроить передачу bitrix_sessid прямо в JS:

    <script>
      window.bitrixSessid = '<?= bitrix_sessid() ?>';
    </script>


    И потом использовать в JS: console.log(window.bitrixSessid)
    Ответ написан
    2 комментария