Перейти к публикации

Рекомендованные сообщения

Привет всем. Вот сайт - Моя ссылка (здесь тестирую то, что будет на другом сайте =))

Вопрос в следующем... Надо сделать промежуточную табличку с предупреждением... я сделал это так

<noindex>

<div [color="#8B0000"]id="adult"[/color] style="position:absolute; z-index:232; right:0; top:0; width:100%; height:100%; background-image: url(http://www.alcoexpert.ru/uploads/18/18.png);" align="center">


<div style="background: url(http://www.alcoexpert.ru/uploads/18/form.png); width:455px; height: 150px; padding:20px; position:relative; top:300px; color:#999;" align="left"> 


<div style="margin-left:70px; margin-top:50px; font-size:16px;"><a href="http://igontov.ru/#" class="white" [color="#8B0000"]onClick="document.cookie = 'adult=on; path=/'[/color]";>Нажмите сюда, если вам больше 18 лет.</a><br></div>


<div style=" margin-left:70px; font-size:10px;"><br>Если у вас возникли проблемы с входом на сайт,<br>обратитесь к своему системному администратору.</div></p>

</div>


[color="#8B0000"]<script language="JavaScript">

   var isDOM      =document.getElementById; 

   var isNetscape4=document.layers  ;

   var isMozilla  =isDOM && navigator.appName=="Netscape" ;

     if (isNetscape4 || isMozilla) {

     document.getElementById("adult").style.height = self.document.body.scrollHeight+"px";

     } 

</script>[/color]

</noindex>

В работе смотрите здесь: Моя ссылка

По идее, при нажатии на ссылку с подтверждением о совершеннолетии - табличка пропадает и всё... работаем дальше.

Но кукиес почему-то не сохраняет нифига... и поэтому на любой странице сайта опять появляется эта табличка...

С кукисами работать не умею... код в принципе содрал с другого сайта... Подскажите где ошибки и как наладить.

Заранее спасибо. С уважением.

Ссылка на сообщение
Поделиться на других сайтах

Я как-то клиенту делал так:


<?php
if ( $_GET['otvet'] == "yes" ) {
setcookie ( "counter", "1", time () + 31536000, "/", ".da-detka.ru" );
header ( "Location: " . $_COOKIE['referer'] );
}

elseif ( $_SERVER["REQUEST_URI"] != "/preduprezhdenie.html" and !isset ( $_COOKIE['counter'] ) ) {
setcookie ( "referer", $_SERVER["REQUEST_URI"], time () + 31536000, "/", ".da-detka.ru" );
header ( "Location: /preduprezhdenie.html" );
}
?>
[/php]

Пример работы можете посмотреть тут: http://da-detka.ru

Берите, пользуйтесь, может быть поможет :rolleyes:

Ссылка на сообщение
Поделиться на других сайтах

Решил помочь. )))

CSS: Это те же самые стили, что из примера выше в дивах, просто я их вывел отдельно.

Копируем их в /templates/имя_шаблона/css/style.css в самый низ.

        .div1 {

            position: absolute; 

            z-index: 232; 

            right: 0; 

            top: 0; 

            width: 100%; 

            height: 100%; 

            background-image: url(http://www.alcoexpert.ru/uploads/18/18.png);

        }


        .div2 {

            background: url(http://www.alcoexpert.ru/uploads/18/form.png); 

            width: 455px; 

            height: 150px; 

            padding: 20px; 

            position: relative; 

            margin: 100px auto; 

            color: #999;

        }


        .div3 {

             margin-left:70px; 

             margin-top:35px;

             margin-bottom:10px; 

             font-size:16px;

        }


        .div4 {

            margin-left:70px; 

            font-size:12px;

        }
Далее: Берём JavaScript
window.onload = function()

          {

            getCookie("adult");

          } 


            function getCookie(name)

            {

                    var cookie = document.cookie.indexOf(name + "=");


                    if (cookie != -1)

                        document.location.href = "http://igontov.ru/";

                    else

                        setWarn();

            }



        function setWarn()

        {

            var div1 = document.createElement("DIV");

                document.body.appendChild(div1);

            var div2 = document.createElement("DIV");


                    var div3 = document.createElement("DIV")

                    div2.appendChild(div3);

                    var a = document.createElement("A");

                    div3.appendChild(a);

                    a.href = "javascript:setCookie(1);";

                    var t = document.createTextNode("Нажмите сюда, если вам больше 18 лет.");

                    a.appendChild(t);

                    var br = document.createElement("BR");

                    div3.appendChild(br);


                    a = document.createElement("A");

                    div3.appendChild(a);

                    a.href = "javascript:setCookie(0);";

                    t = document.createTextNode("Нажмите сюда, если вам меньше 18 лет.");

                    a.appendChild(t);

                    br = document.createElement("BR");

                    div3.appendChild(br);



                    var div4 = document.createElement("DIV")

                    div2.appendChild(div4);

                    t = document.createTextNode("Если у вас возникли проблемы с входом на сайт,");

                    div4.appendChild(t);

                    br = document.createElement("BR");

                    div4.appendChild(br);

                    t = document.createTextNode("обратитесь к своему системному администратору.");

                    div4.appendChild(t);



                div1.appendChild(div2);


                div1.className = "div1";

                div2.className = "div2";

                div3.className = "div3";

                div4.className = "div4"; 

        }


          function setCookie(param)

          {

            if (param)

            {

                document.cookie = "adult=1; path=/;";

                window.location.reload();

            }

            else

                document.location.href = "http://google.ru";

          }

И закидываем его например в warnAdult.js. Попутно создав его по такому пути /templates/имя_шаблона/js/warnAdult.js

Далее: В шаблоне main.tpl между <head></head> прописываем

<script type="text/javascript" src="{THEME}/js/warnAdult.js"></script>

Всё!

PS. Можно конечно было всё и по другому написать, проще, но мне захотелось так. )))

Ссылка на сообщение
Поделиться на других сайтах

Sarvan, громоздкий способ :)

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

Всем остальным, у кого в кеше уже есть этот код, надо будет всё равно делать запрос к серверу, чтобы получить в ответ HTTP/1.1 304 Not Modified

Всё это влияет на время загрузки сайта.

А если человек зашел на сайт по адресу igontov.ru/folder/video/123.html, например, через google и нажал на ссылку "Мне уже есть 18 лет", то куда он попадает потом? Его перекидывает на главную страницу сайта? :)

Ссылка на сообщение
Поделиться на других сайтах

А если человек зашел на сайт по адресу igontov.ru/folder/video/123.html, например, через google и нажал на ссылку "Мне уже есть 18 лет", то куда он попадает потом? Его перекидывает на главную страницу сайта? :)

Да упустил.

Строку:

document.location.href = "http://igontov.ru/";
Заменить на:
document.location.void;

Не такой уж я и профи. )) Но JavaScript люблю. Те, кто adult занимаются им нечего боятся за один 1кб. Там баннеры по метру крутятся. )))

Изменено пользователем Sarvan
Ссылка на сообщение
Поделиться на других сайтах

Уф... =) Спасибо парни. пошел разбираться. отпишусь чо да как =)

Решил помочь. )))

CSS: Это те же самые стили, что из примера выше в дивах, просто я их вывел отдельно.

Копируем их в /templates/имя_шаблона/css/style.css в самый низ.

        .div1 {

            position: absolute; 

            z-index: 232; 

            right: 0; 

            top: 0; 

            width: 100%; 

            height: 100%; 

            background-image: url(http://www.alcoexpert.ru/uploads/18/18.png);

        }


        .div2 {

            background: url(http://www.alcoexpert.ru/uploads/18/form.png); 

            width: 455px; 

            height: 150px; 

            padding: 20px; 

            position: relative; 

            margin: 100px auto; 

            color: #999;

        }


        .div3 {

             margin-left:70px; 

             margin-top:35px;

             margin-bottom:10px; 

             font-size:16px;

        }


        .div4 {

            margin-left:70px; 

            font-size:12px;

        }
Далее: Берём JavaScript
window.onload = function()

          {

            getCookie("adult");

          } 


            function getCookie(name)

            {

                    var cookie = document.cookie.indexOf(name + "=");


                    if (cookie != -1)

                        document.location.href = "http://igontov.ru/";

                    else

                        setWarn();

            }



        function setWarn()

        {

            var div1 = document.createElement("DIV");

                document.body.appendChild(div1);

            var div2 = document.createElement("DIV");


                    var div3 = document.createElement("DIV")

                    div2.appendChild(div3);

                    var a = document.createElement("A");

                    div3.appendChild(a);

                    a.href = "javascript:setCookie(1);";

                    var t = document.createTextNode("Нажмите сюда, если вам больше 18 лет.");

                    a.appendChild(t);

                    var br = document.createElement("BR");

                    div3.appendChild(br);


                    a = document.createElement("A");

                    div3.appendChild(a);

                    a.href = "javascript:setCookie(0);";

                    t = document.createTextNode("Нажмите сюда, если вам меньше 18 лет.");

                    a.appendChild(t);

                    br = document.createElement("BR");

                    div3.appendChild(br);



                    var div4 = document.createElement("DIV")

                    div2.appendChild(div4);

                    t = document.createTextNode("Если у вас возникли проблемы с входом на сайт,");

                    div4.appendChild(t);

                    br = document.createElement("BR");

                    div4.appendChild(br);

                    t = document.createTextNode("обратитесь к своему системному администратору.");

                    div4.appendChild(t);



                div1.appendChild(div2);


                div1.className = "div1";

                div2.className = "div2";

                div3.className = "div3";

                div4.className = "div4"; 

        }


          function setCookie(param)

          {

            if (param)

            {

                document.cookie = "adult=1; path=/;";

                window.location.reload();

            }

            else

                document.location.href = "http://google.ru";

          }
И закидываем его например в warnAdult.js. Попутно создав его по такому пути /templates/имя_шаблона/js/warnAdult.js Далее: В шаблоне main.tpl между <head></head> прописываем <script type="text/javascript" src="{THEME}/js/warnAdult.js"></script> Всё! PS. Можно конечно было всё и по другому написать, проще, но мне захотелось так. )))
Короче сделал всё как выше написано. Но в итоге получилось то же самое. Подскажите где проблема.
<noindex>


<div id="adult" class="div1" align="center">


<div class="div2" align="left"> 


<div  class="div3"><a href="/">Если вам 18....</a><br></div>


<div  class="div4"><br>бла бла бла</div></p>


</noindex>

Это вот я в шаблоне вставил...

Ссылка на сообщение
Поделиться на других сайтах

В шаблон между

<head></head> 
кроме
<script type="text/javascript" src="{THEME}/js/warnAdult.js"></script>

больше вставлять ничего не нужно всё автоматом генерируется. Есть кука высветится предупреждение нет куки ничего не высветится. Cookie создаётся на одну сессию то есть до закрытия браузера.

Ссылка на сообщение
Поделиться на других сайтах

Cookie создаётся на одну сессию то есть до закрытия браузера.

Зачем такое? То-есть человек подтвердил, что ему есть 18 лет, а после того как закрыл браузер ему надо снова подтверждать? Или я не так понял? :unsure:

Ссылка на сообщение
Поделиться на других сайтах

Правильно. Сколько не видел даже на популярных порно тубах сделано так. После закрытия браузера нужно снова подтверждать. Переделать не долго.

Строчку:

document.cookie = "adult=1; path=/;";
Заменить на:
document.cookie = "adult=1; expires=Mon, 01-Jan-2012 00:00:00 GMT; path=/;";

Так cookie установится до 1 января 2012 г.

Изменено пользователем Sarvan
Ссылка на сообщение
Поделиться на других сайтах

В шаблон между

<head></head> 
кроме
<script type="text/javascript" src="{THEME}/js/warnAdult.js"></script>

больше вставлять ничего не нужно всё автоматом генерируется. Есть кука высветится предупреждение нет куки ничего не высветится. Cookie создаётся на одну сессию то есть до закрытия браузера.

Причем здесь это. У меня там только табсы прописаны и всё. но они никак не пересекаются с этим скриптом.

В общем не получается почему то. Вроде всё правильно сделал.

Есть еще какие-то варианты?

Ссылка на сообщение
Поделиться на других сайтах

У вас всё работает! По крайней мере тут igontov.ru

Просто файл "warnAdult.js" пересохраните в кодировке windows-1251

и удалите из шаблона:

<noindex>

<div id="adult" class="div1" align="center">

<div class="div2" align="left"> 

<div  class="div3"><a href="/">Нажмите сюда, если вам больше 18 лет</a><br></div>

<div  class="div4"><br>Если у вас возникли проблемы с входом на сайт,<br>обратитесь к своему системному администратору.</div></p>

</noindex>

Ссылка на сообщение
Поделиться на других сайтах

У вас всё работает! По крайней мере тут igontov.ru

Просто файл "warnAdult.js" пересохраните в кодировке windows-1251

и удалите из шаблона:

<noindex>

<div id="adult" class="div1" align="center">

<div class="div2" align="left"> 

<div  class="div3"><a href="/">Нажмите сюда, если вам больше 18 лет</a><br></div>

<div  class="div4"><br>Если у вас возникли проблемы с входом на сайт,<br>обратитесь к своему системному администратору.</div></p>

</noindex>
Да, заработало! Спасибо.
Правильно. Сколько не видел даже на популярных порно тубах сделано так. После закрытия браузера нужно снова подтверждать. Переделать не долго. Строчку:
document.cookie = "adult=1; path=/;";
Заменить на:
document.cookie = "adult=1; expires=Mon, 01-Jan-2012 00:00:00 GMT; path=/;";

Так cookie установится до 1 января 2012 г.

А вот это дело надо будет потом поменять? После 1 января 2012?

У вас всё работает! По крайней мере тут igontov.ru

А еще зацени вот тут. www.alcoexpert.ru - всё уползло тупо вниз. как это поправить? я думаю это не в стилях же проблема?

Изменено пользователем saigontov
Ссылка на сообщение
Поделиться на других сайтах

Именно в них. Вы их не добавили. Положение и как оно будет выглядеть настраивается именно в CSS.

А вот это дело надо будет потом поменять? После 1 января 2012?

Замените строчку:

document.cookie = "adult=1; expires=Mon, 01-Jan-2012 00:00:00 GMT; path=/;";
на:
var d = new Date();

var oneYearFromNow = d.getTime() + (365*24*60*60*1000);

d.setTime(oneYearFromNow);

document.cookie = "adult=1; expires=" + d.toGMTString() + "; path=/;";

Так cookie будет устанавливаться каждому пользователю на один год с текущей даты.

Изменено пользователем Sarvan
Ссылка на сообщение
Поделиться на других сайтах

Именно в них. Вы их не добавили. Положение и как оно будет выглядеть настраивается именно в CSS.

А вот это дело надо будет потом поменять? После 1 января 2012?

Замените строчку:

document.cookie = "adult=1; expires=Mon, 01-Jan-2012 00:00:00 GMT; path=/;";
на:
var d = new Date();

var oneYearFromNow = d.getTime() + (365*24*60*60*1000);

d.setTime(oneYearFromNow);

document.cookie = "adult=1; expires=" + d.toGMTString() + "; path=/;";
Так cookie будет устанавливаться каждому пользователю на один год с текущей даты.
Может айдишники пересекаются? хотя х3. не понимаю что не так. Поменял названия дивов на "fose"
window.onload = function()

          {

            getCookie("adult");

          } 


            function getCookie(name)

            {

                    var cookie = document.cookie.indexOf(name + "=");


                    if (cookie != -1)

                        document.location.void;

                    else

                        setWarn();

            }



        function setWarn()

        {

            var fose1 = document.createElement("DIV");

                document.body.appendChild(fose1);

            var fose2 = document.createElement("DIV");


                    var fose3 = document.createElement("DIV")

                    fose2.appendChild(fose3);

                    var a = document.createElement("A");

                    fose3.appendChild(a);

                    a.href = "javascript:setCookie(1);";

                    var t = document.createTextNode("Íàæìèòå ñþäà, åñëè âàì áîëüøå 18 ëåò.");

                    a.appendChild(t);

                    var br = document.createElement("BR");

                    fose3.appendChild(br);




                    var fose4 = document.createElement("DIV")

                    fose2.appendChild(fose4);

                    t = document.createTextNode("Åñëè ó âàñ âîçíèêëè ïðîáëåìû ñ âõîäîì íà ñàéò,");

                    fose4.appendChild(t);

                    br = document.createElement("BR");

                    fose4.appendChild(br);

                    t = document.createTextNode("îáðàòèòåñü ê ñâîåìó ñèñòåìíîìó àäìèíèñòðàòîðó.");

                    fose4.appendChild(t);



                fose1.appendChild(fose2);


                fose1.className = "fose1";

                fose2.className = "fose2";

                fose3.className = "fose3";

                fose4.className = "fose4"; 

        }


          function setCookie(param)

          {

            if (param)

            {

                var d = new Date();

				var oneYearFromNow = d.getTime() + (365*24*60*60*1000);

				d.setTime(oneYearFromNow);

				document.cookie = "adult=1; expires=" + d.toGMTString() + "; path=/;";

                window.location.reload();

            }

            else

                document.location.href = "http://kitmedia.ru";

		  }
.fose1 {

            position: absolute; 

            z-index: 284; 

            right: 0; 

            top: 0; 

            width: 100%; 

            height: 100%; 

            background: url("http://www.alcoexpert.ru/uploads/18/18.png");

        }


        .fose2 {

            background: url("http://www.alcoexpert.ru/uploads/18/form.png"); 

            width: 455px; 

            height: 150px; 

            padding: 20px; 

            position: relative; 

            margin: 250px auto; 

            color: #999;

        }


        .fose3 {

             margin-left:50px; 

             margin-top:40px;

             margin-bottom:10px; 

             font-size:16px;

        }


        .fose4 {

            margin-left:70px; 

            font-size:12px; text-align:left;

        }

Помогите уже до конца разобраться =) А то уже жаль на полпути отступать

Ссылка на сообщение
Поделиться на других сайтах

Ошибка в /style/styles.css

<!-- +18 adult -->
Так не комментируют в CSS. Замените на:
/* +18 adult */
и концовку на:
/* +18 adult end */

Ссылка на сообщение
Поделиться на других сайтах

Ошибка в /style/styles.css

<!-- +18 adult -->
Так не комментируют в CSS. Замените на:
/* +18 adult */
и концовку на:
/* +18 adult end */

Блин, с вот я лох. второй раз лажаю с этими пояснениями =) Спасибо

Однако проблема не ушла =) Табличка осталась внизу, только теперь распознался фон.

Ссылка на сообщение
Поделиться на других сайтах

Вы издеваетесь? :) Нельзя быть таким не внимательным в 3 строчках. ))

Ошибка

.div1 { position:
Замените на
.div1 {
лишний position: без значения который. Заодно сохраните картинки в паку images своего шаблона
/images/18.png и /images/form.png
И подправьте пути
http://www.alcoexpert.ru/uploads/18/18.png

http://www.alcoexpert.ru/uploads/18/form.png
на
../images/18.png

../images/form.png

Изменено пользователем Sarvan
Ссылка на сообщение
Поделиться на других сайтах

Вы издеваетесь? :) Нельзя быть таким не внимательным в 3 строчках. ))

Ошибка

.div1 { position:
Замените на
.div1 {
лишний position: без значения который. Заодно сохраните картинки в паку images своего шаблона
/images/18.png и /images/form.png
И подправьте пути
http://www.alcoexpert.ru/uploads/18/18.png

http://www.alcoexpert.ru/uploads/18/form.png
на
../images/18.png

../images/form.png

Мда, мозг уже хочет нового года. В общем огромное спасибо! Всё заработало =)

Единственное НО, это то, что эксплорер как обычно ничего не показывает... ну и х.. с ним

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...