Создаем один проект, в котором есть чат личных сообщений свой внутренний мессенджер.. Пока вкладка сайта активна человек получает звуковое уведомление на сайте о новых сообщения и т.д. Но через некоторое время вкладка сайта престает быть активной и соответственно пропадаю уведомления. Надо сделать что бы она была всегда активно и человек получал уведомление как в том же вк.
Используем Vue.js php
Дополнительно:
Содержание
Ответы:
Ну что-то вроде, если с передачей параметра tab в url... в head
|
1 |
<script> function setActiveTab(tabId) { localStorage.setItem("activeTab", tabId); } function getActiveTab() { return localStorage.getItem("activeTab"); } </script> |
Для вкладки нужно создать компонент
|
1 |
<template> <li :class="{ active: isActive }" @click="setActiveTab"> <a href="#">Моя вкладка</a> </li> </template> <script> export default { computed: { isActive() { return this.id === this.getActiveTab(); }, }, methods: { setActiveTab() { setActiveTab(this.id); }, getActiveTab() { return getActiveTab(); }, }, props: ["id"], }; </script> |
В самом приложении Vue.js добавить код на странице с вкладками... типо
|
1 |
<template> <div> <ul> <my-tab id="tab-1" /> <my-tab id="tab-2" /> <my-tab id="tab-3" /> </ul> </div> </template> <script> import MyTab from "./MyTab"; export default { components: { MyTab, }, mounted() { const activeTab = getActiveTab() || "tab-1"; // по умолчанию, активна будет первая вкладка setActiveTab(activeTab); }, }; </script> |
Ну и в PHP где идет генерация заголовка вкладки, добавить:
|
1 |
<title> <?php $tabId = $_GET["tab"]; if ($tabId) { echo $tabs[$tabId]["title"]; } else { echo $tabs["tab-1"]["title"]; // по умолчанию активна первая вкладка } ?> </title> |
То есть юзаем localStorage, чтобы сохранить id активной вкладки между сеансами. Чтобы на сервере еще это хранить, нужно будет подрубить сессию для выбранной вкладки.
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?
Для того чтобы сделать вкладку сайта всегда активной, можно использовать JavaScript. Вот пример кода, который поможет вам реализовать данную функциональность:
В данном примере мы добавляем обработчик события на клик по элементу
aвнутри списка с идентификаторомmyTab. При клике мы удаляем классactiveу текущей активной вкладки и добавляем его к новой вкладке, на которую пользователь кликнул.Таким образом, при каждом клике на вкладку она будет становиться активной, а предыдущая будет терять статус активной. Данный подход позволит вам реализовать функциональность активной вкладки на вашем сайте.