Сообщение от SuperZen
|
если открыть в другом табе, приветствие будут отображено в каждом табе...
|
Было бы странно, если бы оно не отобразилось. А то какой-смысл открывать новую вкладку, если в ней всё восстановится, что уже есть в открытой вкладке.
Для сайта без регистрации/привязки к человеку это
идеальное решение, а так оно должно показываться в зависимости от активности пользователя, т. е. посмотрел на компьютере, ему показали приветствие, потом решил смотреть на телефоне, ему приветствие уже не показывается, т. к. пару минут назад его приветствовали на компьютере.
UPD
Сообщение от SuperZen
|
видим сессию и все
|
Сообщение от SuperZen
|
sessionStorage работает только для одного таба
|
Ведь вы можете учитывать, откуда появилась вкладка... Если пользователи нашли на странице ссылку и в контекстном меню выбрали открыть в новой вкладке или нажали на вкладке дублировать, то тогда приветствие не нужно, а если отдельно ввели адрес в новой вкладке, то тогда нужно! Если вы позволяете такое мнение, то можно посмотреть на
document.referrer
<div class="hello" style="display:none" id="welcome-window">
<div class="hellotext">
<div align="center" class="logo">
<img src="/logo.png" alt="" />
Добро пожаловать!
</div>
</div>
</div>
<script>
(function(){
var win = document.getElementById("welcome-window");
if(
win && "visited" in sessionStorage === false &&
new URL(document.referrer, "file:///").host !== location.host
) {
win.style.display = "block";
sessionStorage.visited = true;
}
})();
</script>
<a href="?test">Link</a>