1

Тема: Виконати код один раз

В добрий час. Таке питання.

Юзер заходить на сайт, йому постійно вискакує діалогове вікно. Як його показати тільки 1 раз, щоб він нажав ок або кенсл і більше воно не запускалось?
А запускалось тільки в тому випадку коли він закриє вкладку з сайтом і знову зайде на нього. Щось типу сесії, як в PHP.
В коді не сильний.....

function conf(){
if (confirm("Привіт")) {
alert("Ok");
} else {
alert("Cancel");
}
}

<body onmousemove="setTimeout('conf()',3000);">

2 Востаннє редагувалося Chemist-i (06.09.2013 14:58:26)

Re: Виконати код один раз

Може створіть змінну, і після виводу повідомлення міняйте її, а при виводі - перевіряйте
На кшталт:

var v1 = 0;
...
function conf(){
if (v1 = 0) {
if (confirm("Привіт")) {
alert("Ok");
} else {
alert("Cancel");
}
v1 = 1;
}
}

3

Re: Виконати код один раз

А так?

<script>
function conf(){
if (confirm("Привіт")) {
alert("Ok");
} else {
alert("Cancel");
}
}
</script>
 
<body onload="conf();">

Затримка взагалі потрібна?

4

Re: Виконати код один раз

Replace написав:

А так?

<script>
function conf(){
if (confirm("Привіт")) {
alert("Ok");
} else {
alert("Cancel");
}
}
</script>
 
<body onload="conf();">

Затримка взагалі потрібна?

Потрібна, а в чому різниця між моїм і цим кодом в <script></script>????

5

Re: Виконати код один раз

Використовуйте кукіси ;) http://www.w3schools.com/js/js_cookies.asp

6

Re: Виконати код один раз

funivan - будьмо уважні (читаєм уважно)

В коді не сильний.....

7

Re: Виконати код один раз

mmy3uka написав:

Потрібна, а в чому різниця між моїм і цим кодом в <script></script>????

<body onload="conf();">

8

Re: Виконати код один раз

Replace дякую, зразу незамітив.... з onload працює....

9

Re: Виконати код один раз

З затримкою:
[code=js]function conf(){

var delay = 1000;

setTimeout(function() {
    if (confirm("Привіт")) {
            alert("Ok");
    } else {
            alert("Cancel");
    }
}, delay);
}
</script>


<body onload="conf();"></body>
[/code]

10

Re: Виконати код один раз

тут винекло ще таке питання.

я пробую в рядок поставити перенаправлення. Як це зробити, щоб відкрилась нова вкладка

 if (confirm("Привіт")) {
location.href ="login.php" // щоб відкрило в нові вкладці????
}

11

Re: Виконати код один раз

Та ніби ніяк. Принаймні таким способом. Це залежить від браузера. Може встановлювати якомусь елементу відповідне значення атрибуту target?

12 Востаннє редагувалося funivan (06.09.2013 16:51:40)

Re: Виконати код один раз

if (confirm("Привіт")) {
  window.open("login.php");
}