Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум поддержки IPB.SU > Поддержка модификаций > Высплывающее окно для гостей


Автор: Dron Ноя 1 2007, 22:46
Данная модификация позволяет создать всплывающее окно для гостей. Окно отображается на экране определенное время, а потом исчезает.

1. АдминЦентр - Скины и шаблоны - Настройка скинов - в списке установленных скинов ищем нужный скин - жмем на ссылку "HTML" - в названиях категории скина ищем Global HTML elements - жмем "раскрыть для редактирования" - в списке секций ищем Guest Bar - жмем "редактировать".

И после всего кода вставляем следующее:

QUOTE
<!-- всплывающее окно для гостей -->
<script type='text/javascript'>
var displaymode = 'always';
var enablefade = 'no';
var autohidebox = ['yes', 20];
var showonscroll = 'yes';
var IEfadelength = 1;
var Mozfadedegree = 0.05;

if (parseInt(displaymode) != NaN)
{
var random_num = Math.floor(Math.random() * displaymode);
}

function display_hover_prompt()
{
var ie = document.all && !window.opera;
var dom = document.getElementById;
var iebody = (document.compatMode == 'CSS1Compat') ? document.documentElement : document.body;
var objref = (dom) ? document.getElementById('hoverprompt') : document.all.hoverprompt;
var scroll_top = (ie) ? iebody.scrollTop : window.pageYOffset;
var docwidth = (ie) ? iebody.clientWidth : window.innerWidth;
var docheight = (ie) ? iebody.clientHeight: window.innerHeight;
var objwidth = objref.offsetWidth;
var objheight = objref.offsetHeight;
objref.style.left = docwidth/2-objwidth/2+'px';
objref.style.top = scroll_top+docheight/2-objheight/2+'px';

if (showonscroll == 'yes')
{
var showonscrollvar = setInterval('static_hover_prompt()', 50);
}

if (enablefade == 'yes' && objref.filters)
{
objref.filters[0].duration = IEfadelength;
objref.filters[0].Apply();
objref.filters[0].Play();
}

objref.style.visibility = 'visible';
if (objref.style.MozOpacity)
{
if (enablefade == 'yes')
{
var mozfadevar = setInterval('mozilla_hover_prompt_fade()', 90);
}
else
{
objref.style.MozOpacity = 1;
initiate_hover_prompt_hiding();
}
}
else
{
initiate_hover_prompt_hiding()
}
}

function mozilla_hover_prompt_fade()
{
if (parseFloat(objref.style.MozOpacity) < 1)
{
objref.style.MozOpacity = parseFloat(objref.style.MozOpacity)+Mozfadedegree;
}
else
{
clearInterval(mozfadevar);
controlledhidebox();
}
}

function static_hover_prompt()
{
var ie = document.all && !window.opera;
var dom = document.getElementById;
var iebody = (document.compatMode == 'CSS1Compat') ? document.documentElement : document.body;
var objref = (dom) ? document.getElementById('hoverprompt') : document.all.hoverprompt;
var scroll_top = (ie) ? iebody.scrollTop : window.pageYOffset;
var docwidth = (ie) ? iebody.clientWidth : window.innerWidth;
var docheight = (ie) ? iebody.clientHeight: window.innerHeight;
var objwidth = objref.offsetWidth;
var objheight = objref.offsetHeight;
objref.style.top = scroll_top+docheight/3-objheight/2+'px';
}

function hide_hover_prompt()
{
var ie = document.all && !window.opera;
var dom = document.getElementById;
var iebody = (document.compatMode == 'CSS1Compat') ? document.documentElement : document.body;
var objref = (dom) ? document.getElementById('hoverprompt') : document.all.hoverprompt;
objref.style.visibility = 'hidden';
if (typeof showonscrollvar != 'undefined')
{
clearInterval(showonscrollvar);
}
}

function initiate_hover_prompt_hiding()
{
if (autohidebox[0] == "yes")
{
var delayvar = (enablefade == 'yes' && objref.filters) ? (autohidebox[1]+objref.filters[0].duration)*1000 : autohidebox[1]*1000;
initiate_timer(delayvar);
setTimeout('hide_hover_prompt()', delayvar);
}
}

function initiate_timer(time)
{
var newtime = time-1000;
setTimeout('update_timer('+newtime+')', 1000);
}

function update_timer(time)
{
var timer = time/1000;
var ie = document.all && !window.opera;
var dom = document.getElementById;
if (dom)
{
var hp = document.getElementById('hptimer');
if (timer == 1)
{
hp.innerHTML = "<small><i>Окно закроется через "+timer+" секунду</i></small>";
}
else
{
hp.innerHTML = "<small><i>Окно закроется через "+timer+" секунд</i></small>";
}
}
var newtime = time-1000;
setTimeout('update_timer('+newtime+')', 1000);
}

function initiate_hover_prompt()
{
setTimeout('display_hover_prompt()', 100);
}

function get_cookie(Name)
{
var search = Name + "=";
var returnvalue = "";
if (document.cookie.length > 0)
{
var offset = document.cookie.indexOf(search);
if (offset != -1)
{
offset += search.length;
var end = document.cookie.indexOf(';', offset);
if (end == -1)
{
end = document.cookie.length;
}
returnvalue = unescape(document.cookie.substring(offset, end));
}
}
return returnvalue;
}

if (displaymode == 'always' || parseInt(displaymode) != NaN && random_num == 0)
{
if (window.addEventListener)
{
window.addEventListener('load', initiate_hover_prompt, false)
}
else if (window.attachEvent)
{
window.attachEvent('onload', initiate_hover_prompt)
}
else if (document.getElementById)
{
window.onload = initiate_hover_prompt;
document.cookie = 'fadedin=yes';
}
}
</script>
<style type='text/css'>#hoverprompt{position:absolute;width:300px;left:0;top:-400px;
padding:4px;z-index:100;visibility:hidden}</style>
<div id='hoverprompt'><div class='tableborder'><div class='maintitle' align='center'>Добро пожаловать на форум технической поддержки!</div>

<table align='center' width='100%' class='row1' cellspacing='0' cellpadding='5'>
<tr>
<td align='center'>Мы рады приветствовать Вас на нашем
форуме. Форум не определил Вас как зарегистрированного пользователя.
Если Вы хотите использовать все возможности форума, то Вам необходимо
<span style='color:blue'><a href='http://ваш_форум.ipb.su/index.php?act=Reg&CODE=00'>
зарегистрироваться</a></span>.</br>Зарегистрированные пользователи получают возможность просматривать закрытые разделы форума, а также возможность общения на нашем форуме.<br><br>Если Вы уже
зарегистрированы на форуме, то Вам необходимо пройти авторизацию,
используя Ваш логин и пароль.</br></br>


<form style='display:inline' action="{ibf.script_url}act=Login&amp;CODE=01&amp;CookieDate=1" method="post">
<div align='center'>Логин: <input type="text" class="forminput" size="10" name="UserName" onfocus="this.value=''" value="{ibf.lang.qli_name}" />
Пароль: <input type='password' class='forminput' size='10' name='PassWord' onfocus="this.value=''" value='ibfrules' />
</br></br><center><input type='submit' class='forminput' value='Вход' /></center>
</div>
</form>
</td>
</tr>
<tr>
<td align='center'><div id='hptimer'><small><i>Окно закроется через 20 секунд</i></small></div></td>
</tr>
</table></div></div>


Текст и ссылки выделеные зеленым редактируете для своего форума.

Вот как этот мод будет выглядеть:

Автор: 4yMogaHJkeee?! Мар 27 2008, 19:42
Дану бред.Мешает даже залогиниться

Автор: Rozess Апр 9 2008, 21:36
Я тоже так считаю. Во первых это уже принуждает регистрироваться так как мешает это окно, а многие просто будут уходить с сайта из-за этого окна.

Автор: Stimaxel Апр 18 2008, 07:57
Dron,
спасибо, все работает и даже интересно
Rozess,
не думаю что из за окна все будут уходить с форума, изюминка в том что ты там напишешь

Автор: Vesnushka ^^ Апр 19 2008, 13:20
QUOTE
изюминка в том что ты там напишешь

отчасти правда, но всё же.. я сначала тое поставила, написала там не стандартное, а полностью своё, но потом заметила, что регистраций меньше стало. Потом удалила...
так что наверное этот мод скорее ненужен чем нужен ИМХО

Автор: Skipper Апр 19 2008, 13:48
А мне даж понравилось, главное вовлечь смыслом надписи )) Заинтересовать ))

Автор: Dron Апр 19 2008, 21:25
А по моему только отпугивает потенциальных пользователей.

Автор: Stimaxel Апр 20 2008, 11:38
Dron,
у меня например гости из за этого окна не могут посмотреть форум, только когда за регистрируются

Автор: Stimaxel Апр 20 2008, 21:02
как мне сделать, как раньше, гости могли видеть форум, а сейчас стоит опция входа этот скрипт я удалил, всплывающее окно, и что не то стало, что мне делать? кто подскажет?

Автор: Skipper Апр 24 2008, 00:50
А не блочит это окошко ботов-индексаторов ?? Потому что когда я как то прописывал адрес своего сайта в гугле, выдавало только текст из этого окна....

Автор: Kristya Окт 14 2008, 17:09
А у меня все хорошо! biggrin.gif

Автор: Max Faxtor Дек 24 2008, 13:32
Dron, спасибо огромное, очень полезная функция smile.gif

Автор: EDG_aka_Dima Янв 10 2009, 19:21
Изменяйте выделенный красным цветом адрес на свой!
А то я уже заметил у некоторых такую ошибку...

Автор: Steve_Fox Янв 10 2009, 19:23
EDG_aka_Dima, http://muzotriv.ipb.su/ нажать на кнопку регистрироваться, редирикт сюда.

Автор: Mashka Янв 10 2009, 19:33
Уже переделала smile.gif

Автор: n1ghtman7 Янв 26 2009, 23:22
Я вот посмотрел, а можно сделать, чтобы это окошко, только на главной странице появлялось, а то нажимаешь "Зарегестрироваться" и в форме регитрации она тоже вылетает, не очень удобно для гостей, что отредатктировать, чтобы это окошко, только на гл странице появлялось? И что отредактировать, чтобы это окошко не 20 секунд висело, а например 10 или 15 секунд?
Спасибо большое.

Автор: Добрый Янв 27 2009, 00:21
n1ghtman7, не пользуйтесь им вообще) отталкивает гостей.

Автор: EDG_aka_Dima Янв 27 2009, 09:19
В самом начале кода в
CODE
var autohidebox = ['yes', 20];

20 замените на своё число, и в строке
CODE
Окно закроется через 20 секунд

тоже замените на своё

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

Но, соглашусь с Добрым, лучше не ставить.

Автор: Max Faxtor Ноя 7 2010, 09:56
Сперва установил, а потом убрал. Действительно мешает гостям ознакомиться с содержимым форума, да и зарегистрироваться тоже. По-моему, лучше сделать красную рамочку http://ipboard.net/index.php?showtopic=2821,, и текст из всплывающего окна для гостей вставить туда.

Автор: Slesher Мар 31 2011, 15:41
Маленький апдейт:
если хотите чтобы гость мог закрыть надоедливое окно не ждя 20 секунд, можете вместо
Цитата
<div id='hoverprompt'><div class='tableborder'><div class='maintitle' align='center'>Добро пожаловать на форум технической поддержки!</div>


сделать

Цитата
<div id='hoverprompt'><div class='tableborder'><div class='maintitle' align='center'>Добро пожаловать на форум технической поддержки! <a href="#" onClick="document.getElementById('hoverprompt').style.display='none'">X</a></div>


тоесть после заголовка добавить
Код
<a href="#" onClick="document.getElementById('hoverprompt').style.display='none'">Х</a>


нажав на Х, окно закроется. Х можете менять на что угодно.

Powered by Invision Power Board (//www.invisionboard.com)
© Invision Power Services (//www.invisionpower.com)