Открываем вкладку при открытии страницы

Главная

Вернуться к статьям

Открываем вкладку при открытии страницы

Чтобы открыть нужную вкладку при переходе на страницу:

  1. Укажите для компонента "Вкладки" класс open-tab-by-link
  2. Создайте плагин "Свой Код" и в поле "Перед /body" добавьте скрипт:

<script type="text/javascript">
cr.api(page => {
    const params = getParams()
    if (!Object.keys(params) || !Object.keys(params).length || !params.tab) return page.waitForAppear('.cr-tabs.open-tab-by-link', tabComponent => {
        const pagination = tabComponent.querySelector('[cr-slider-pagination]')
        let indexTab;
        const tabs = Array.from(pagination.childNodes)
        const tab = tabs.find((tab, index) => {
            if (tab.textContent.trim().toLowerCase() == params.tab.trim().toLowerCase()) {
                indexTab = index;
                return tab.textContent.trim().toLowerCase() == params.tab.trim().toLowerCase()
            }
        }) if (!tab) return $(tab).click()
            setTimeout(() => {
            tab.querySelector('[cr-slider-page_label]').click()
        }, 100)
    })
    function getParams() {
        const couples = window.location.search.substr(1).split('&');
        const params = {}
        for (let index in couples) {
            const couple = couples[index]
            if (/^[^=]+?=[^=]+$/.test(couple)) {
                const matches = couple.match(/^(.+?)=(.+)$/)
                const key = decodeURI(matches[1])
                const value = decodeURI(matches[2])
                params[key] = value
            }
        }
        return params
    }
})
</script>

При указании ссылки на страницу добавьте к этой ссылке GET-параметр tab, значение которого содержит название вкладки

Например: На скриншоте выше компонент содержит вкладки с названиями "Вкладка 1", "Вкладка 2", "Вкладка 3"

Чтобы при переходе на страницу открывалась вкладка "Вкладка 2", ссылка должна быть такой: https://domain.ru?tab=Вкладка 2