Битрикс24 отключение отображения страниц в боковом слайдере
После недавнего обновления все ссылки/страницы стали отображаться во всплывающем окне/слайдере и стандартным способом это не изменить.
Тех. поддержка пообещала добавить возможность открытия ссылок на полный экран. Чтоб не ждать, есть пару костылей. Оба основаны на том, что страницы с get параметром FRAME=N открываются в полное окно.
Костыль первый, на js:
document.addEventListener("mouseover", function(event) { let href = event.target.href; if (event.target.tagName.toLowerCase() === "a" && href.indexOf("tasks/task") !== -1 && href.indexOf('IFRAME=N') === -1) { // Получаем URL ссылки и добавляем параметр IFRAME let currentUrl = new URL(event.target.href), newUrl = currentUrl.pathname; if (newUrl.length > 1 && hash !== '#like') { if (currentUrl.search.length > 0) { newUrl += currentUrl.search + "&IFRAME=N"; } else { newUrl += "?IFRAME=N"; } if (currentUrl.hash) { newUrl += currentUrl.hash; } event.target.href = newUrl; } } });
Работает так: при наведении на ссылку в неё добавляется IFRAME=N, и, при открытии ссылки в новом окне (ctr+лкм, шариком мыши и т.п.), страница открывается во всё окно.
Костыль второй, на бекэнде:
$request = Main\Application::getInstance()->getContext()->getRequest(); if (!$request->offsetExists('IFRAME')) { $request->set('IFRAME', 'N'); }
При открытии страницы во входищие параметры подставляется IFRAME=N, поэтому любые ссылки будут открываться во всё окно.
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.