2016-02-29 3 views
2

У меня есть веб-страница (home.html), и я хочу, чтобы она была доступна только один раз за раз.Как сделать веб-страницу доступной только один раз за один раз? (JS + HTML)

То есть, человек может войти на эту страницу при первом открытии. Но пока эта страница просматривается на вкладке, откроется другая страница, если пользователь попытается открыть home.html на новой вкладке.

Как я могу это сделать? Какую функцию JS мне нужно добавить на мою веб-страницу?

+0

Он считает, что это можно сделать с помощью файлов cookie. если cookie представлен, то home.html перенаправляет или что-то подобное. – peszo

+3

Вы можете «установить cookie» с помощью плагина 'jquery.cookie.js'. затем определите, установлен ли 'cookie', сделайте другую вещь. – Pedram

+0

Вы можете использовать переменные 'localStorage' для этого – Apb

ответ

2

локального хранения с триггером на нагрузке тела/выгружать события:

function session1() { 
 

 
var result = localStorage.getItem("session"); 
 

 
if (result != "running") { 
 
localStorage.setItem("session", "running"); 
 
} else if (result == "running") { 
 
localStorage.setItem("redirect", "yes"); 
 
window.location.replace("http://www.google.com"); 
 
} 
 
} 
 

 
function session0() { 
 
var stats = localStorage.getItem("redirect"); 
 

 
if (stats == "yes") { 
 
} else { 
 
localStorage.setItem("session", "done"); 
 
} 
 
localStorage.setItem("redirect", "no"); 
 
}
<body onload="session1()" onunload="session0()"> 
 
<div style="background:skyblue">SESSION RUNNING</div>

+0

Я пробовал это, но когда я открою страницу в третий раз, он не перейдет на google – miata

+0

Вы правы! Подожди минуту; –

+0

ok, thats fixed, (подождите, я собираюсь сделать еще одно исправление!) –

0

Вы можете попробовать поиграться с LocalStorage и события onbeforeunload, что-то вдоль линий:


    if(localStorage['visited'] == true){ 
     document.getElementsByTagName('body')[0].innerHTML = 'This page is opened twice.'; 
    } 

    localStorage['visited'] = true; 
    window.onbeforeunload = function(){ 
    localStorage['visited'] = false; 
    } 

 
+0

Итак, все, что вы написали, принадлежит функции, и я использую ??? – miata

+0

Я бы просто добавил это к нижней части моей страницы в теге