Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Открытие div блока при первом визите на сайт (https://javascript.ru/forum/misc/6196-otkrytie-div-bloka-pri-pervom-vizite-na-sajjt.html)

B~Vladi 19.12.2009 20:55

Цитата:

Сообщение от PeaceCoder
Разработка клиентского интерфейса (ExtJS)

Здесь нужно читать так:
Разработка клиентского интерфейса средствами ExtJS.

PeaceCoder 19.12.2009 23:27

ну знач написать надо
Разработка клиентского интерфейса (на ExtJS)
или
Разработка клиентского интерфейса средствами ExtJS.

непонятно.... спилберг!

x-yuri 20.12.2009 11:43

ну ты пока первый, кто неправильно понял (;

Nushaba 22.12.2009 15:34

Юзал скрипт, наткнулся на недоработку, теперь с этим скриптом у меня нету возможности вернуться назад на одну страницу, по нажатии кнопки в браузере

Происходит редирект моментальный, происходит он потому, что я так ему сказал ) При наличии куков скрипт работает на пропуск на страницу (редирект), которую я хотел посетить. Но в том то и беда, этот скрипт теперь очень неоднозначно реагирует на кнопку "возврат", так как скрипт работает на каждой странице, то появление окошка с вопросом считается очередной страницей и по кнопке назад я попадаю на страницу срабатывания скрипта, где по проверке наличия куков он меня отправляет на запрашиваемую страницу, которой считается та страница, откуда я хотел уйти... В принципе решить проблему можно переписав скрипт немного, надо это:
if (myVar == 1)// проверка на то есть куки или нету, если есть то переход без вопроса иначе задается вопрос
{
history.go(1);
}

переписать на остановку скрипта при наличии куков.
if (myVar == 1)// проверка на то есть куки или нету, если есть то остановить (не выполнять) скрипт иначе задается вопрос
{
стоп скрипт;
}


Видимо нужно избавиться от хистори, подскажите какое решение плиз.

Nushaba 23.12.2009 21:44

Что то снова нету желающих помочь :) Попробуйте только сказать что это элементарно )
В общем избавился я от хистори, получилось следующее:

if (myVar != "1")// проверка на то есть куки или нету, если есть то не выполнять скрипт иначе задается вопрос
{
 var zayti = confirm("Вы точно хотите сюда войти? \n Если нет, нажмите ОТМЕНИТЬ и Вы перейдёте туда, куда я вас послал.");
 if (zayti){
 Cookie.set("имя_для_куков", "1");
 }
 else
 {location.href = "http://javascript.ru/";}
}


Скрипт работоспособный, не глючный кажется. Первый пост обновил.

Tanjushka 10.06.2012 18:55

Парни, а кто знает как вместо сообщения в этом скрипте из первого поста вывести div с 2 ссылками? По одной будет разрешаться заходить на сайт, а по другой будет переход на поисковик (переход сделать я сама смогу )))
А то сообщение некрасиво смотрится, а div можно ведь украсить )))

devote 10.06.2012 19:17

<!DOCTYPE html>
<html>
    <head>
    <style>
        #fillBackground {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #fff;
        }
    </style>
    </head>
    <body>
<div id="fillBackground">
    <a id="enter_site" href="">Зайти</a><br/>
    <a id="exit_site" href="">Не Зайти</a>
</div>
<div>Сомнительная инфа :)</div>

<script type="text/javascript">

    var Cookie = {
        set: function(name, value, expires, path, domain, secure) {
            document.cookie = name + "=" + escape(value) +
                ((expires) ? "; expires=" + expires : "") +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
        },
        get: function(name) {
            var prefix = name + "=";
            var cookieStartIndex = document.cookie.indexOf(prefix);
            if (cookieStartIndex == -1) return null;
            var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
            if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
            return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
        },
        del: function(name, path, domain) {
            if ( this.get( name ) ) {
                document.cookie = name + "=" +
                    ((path) ? "; path=" + path : "") +
                    ((domain) ? "; domain=" + domain : "") +
                    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
            }
        }
    }

    if ( Cookie.get("test") != "1" ) {
        document.getElementById( 'fillBackground' ).style.display = 'block';
    }

    document.getElementById( 'enter_site' ).onclick = function() {
        Cookie.set("test", "1");
        document.getElementById( 'fillBackground' ).style.display = 'none';
        return false;
    }

    document.getElementById( 'exit_site' ).onclick = function() {
        location.href = "http://javascript.ru/";
        return false;
    }
</script>
    </body>
</html>

Tanjushka 10.06.2012 19:35

devote, спасибочки тебе! Цем-цем

ruslan_kulikow 20.12.2013 21:24

var Cookie = new Object();
Cookie.set = function(name, value, expires, path, domain, secure) {
  document.cookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
    }
Cookie.get = function(name) {
  var prefix = name + "=";
  var cookieStartIndex = document.cookie.indexOf(prefix);
  if (cookieStartIndex == -1) return null;
  var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
  if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
  return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
  }
Cookie.del = function(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
  }
var myVar = null;// просто переменная со значением, для проверки кукисов
myVar = Cookie.get("имя_для_куков");
if (myVar != "1")// проверка на то есть куки или нету, если есть то не выполнять скрипт иначе задается вопрос
{
 var zayti = confirm("Вы точно хотите сюда войти? \n Если нет, нажмите ОТМЕНИТЬ и Вы перейдёте туда, куда я вас послал.");
 if (zayti){
 Cookie.set("имя_для_куков", "1");
 }
 else
 {location.href = "http://javascript.ru/";}
}


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


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