Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Открыть окно автомат. с задержкой (https://javascript.ru/forum/dom-window/34390-otkryt-okno-avtomat-s-zaderzhkojj.html)

qazibum 02.01.2013 20:58

Открыть окно автомат. с задержкой
 
У меня на сайте есть ссылка при нажатие на нее открывается окошко с чатом

<a href="/client.php?locale=ru" target="_blank" onclick="if(navigator.userAgent.toLowerCase().indexOf('opera') != -1 &amp;&amp; window.event.preventDefault) window.event.preventDefault();this.newWindow = window.open('/client.php?locale=ru&amp;url='+escape(document.location.href)+'&amp;referrer='+escape(document.referrer), 'webim', 'toolbar=0,scrollbars=0,location=0,status=1,menubar=0,width=500,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">ссылка</a>


Хочу, чтобы это окошко открывалось автоматически через 2 минуты после того, как юзер зашел на сайт.
1. как открыть окно автоматически?
2. как сделать, чтобы окно не открывалось на каждой странице через 2 минуты? Т.е. чтобы отсчет времени шел не на конкретной странице, а для всего сайта, как бы.

Сделал так
function openvo() {
"if(navigator.userAgent.toLowerCase().indexOf('opera') != -1 &amp;&amp; window.event.preventDefault) window.event.preventDefault();this.newWindow = window.open('/client.php?locale=ru&amp;url='+escape(document.location.href)+'&amp;referrer='+escape(document.referrer), 'webim', 'toolbar=0,scrollbars=0,location=0,status=1,menubar=0,width=500,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;"
}
setTimeout(openvo, 3000);


Но не сработало. На счет второго вопроса вообще не знаю как делать.
Подскажите, пожалуйста.

Всех с Новым Годом :)

dmitriymar 02.01.2013 23:03

Цитата:

Сообщение от qazibum
"if(navigator

кавычки лишние.
Цитата:

Сообщение от qazibum
2. как сделать, чтобы окно не открывалось на каждой странице через 2 минуты? Т.е. чтобы отсчет времени шел не на конкретной странице, а для всего сайта, как бы.

использовать куки. ставить куку что окно открыто, соответственно для всех проверять если кука стоит -то не открывать
Цитата:

Сообщение от qazibum
1. как открыть окно автоматически?

окна должны открываться на действие пользователя

qazibum 03.01.2013 02:11

Кавычки ставил из-за &amp;&amp; они вызывали ошибку, заменил на && и заработало.
С куками буду пробовать, спасибо.
А на счет автомат.открытия окна - заработало, но браузер блокирует, как избежать? Пользователю это окно будет полезно, но не все могут заметить кнопку на него из-за особенностей дизайна. Поэтому и надо предложить посетителю окошко для консультаций.

Deff 03.01.2013 02:18

Цитата:

Сообщение от qazibum
но браузер блокирует, как избежать?

открывайте окно псевдокликом по ссылке
<a href="http://javascript.ru/forum/" style="display:none"><span id="filt_city">A</span></a>

<script type="text/javascript">
function setcookie(a,b,c) {if(c){var d = new Date();d.setDate(d.getDate()+c);}if(a && b) document.cookie = a+'='+b+(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcookie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}

function clearSet(L){if(L){return true}else{setcookie("start",true,1);return false}}


setTimeout("if(!clearSet(getcookie('start'))) {document.getElementById('filt_city').click()}",2000);
</script>

qazibum 03.01.2013 23:17

Deff, спасибо большое, очень помогли. Я бы долго с куками мучился.
Только браузеры блокируют окно из-за target="_blank".

dmitriymar 03.01.2013 23:28

Цитата:

Сообщение от qazibum
Только браузеры блокируют окно из-за target="_blank".

Цитата:

Сообщение от dmitriymar
окна должны открываться на действие пользователя

я так думаю что этой фразы должно было хватить, чтоб оставить попытки сделать это

Deff 03.01.2013 23:36

Цитата:

Сообщение от qazibum
Только браузеры блокируют окно из-за target="_blank".

Открывайте чат во фрейме на текущей - собственно зачем он нужен во всю страницу?

<iframe id="filt_city" style="right:0;bottom:0;position:absolute;display:none"  src="" width="468" height="260" /></iframe>

<script type="text/javascript">
function setcookie(a,b,c) {if(c){var d = new Date();d.setDate(d.getDate()+c);}if(a && b) document.cookie = a+'='+b+(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcookie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}

function clearSet(L){if(L){return true}else{setcookie("start_1",true,1);return false}}

setTimeout("if(!clearSet(getcookie('start_1'))) {var a=document.getElementById('filt_city'); a.src='http://javascript.ru/forum/';a.style.display='block'}",2000);
</script>


Часовой пояс GMT +3, время: 20:42.