ЛС без перезагрузки страницы

S

Sarymian

Гость
fly_indiz, в общем поковырялся я. Скорее всего что-то перепутал (может в одно время читал статьи про JS Server-Sent-Events и HTML5 вот и перетупалось все в голове). В общем в HTML5 я подтверждение PUSH не нашел. Только через JS. Есть еще костыль через PHP, но все это имеет много различных ограничений. Главный из которых - все будет тормозить безбожно.

Так что лучше думаю, реализовывать это как опцию.

З.Ы. Пару статеек:

Please Login or Register to view hidden text.



Please Login or Register to view hidden text.



Ну и самая актуальная:

Please Login or Register to view hidden text.

 
S

Sarymian

Гость
diden05, я это видел, но даже не стал акцентировать на "этом" внимание. По моему скромному мнению, Пушер (именно название сайта а не метод) это костыль... причем не самый лучший. Уж лучше опцией и APE установить. Кому надо тот освоит (так же как было со Сфинксом).
 

dredd

Пользователь
[ADDON] Оповещение о ЛС.
Автор: Dredd
Установка:Открываем page_header.tpl и находим:
HTML:
<script type="text/javascript" src="{SITE_URL}misc/js/main.js?v={$bb_cfg['js_ver']}"></script>
После добавляем:
HTML:
<script type="text/javascript" src="{SITE_URL}misc/js/jquery.jgrowl_minimized.js"></script>
Находим:
HTML:
<!-- IF HAVE_NEW_PM || HAVE_UNREAD_PM --> <a href="{U_PRIVATEMSGS}" id="pm-link">{PM_INFO}</a> <!-- ENDIF -->
Заменяем на:
HTML:
<!-- IF HAVE_NEW_PM || HAVE_UNREAD_PM -->
<script language="javascript" type="text/javascript">
            $.jGrowl.defaults.closer = true;
$.jGrowl('Здравствуйте {THIS_USER}, с момента вашего отсутствия вам было прислано <a href="{U_READ_PM}">{PM_INFO}</a>.', {sticky:true, header: 'Новое личное сообщение'}); </script>
<!-- ENDIF -->
Открыть main.css и в конец добавить:
Код:
 div.jGrowl{z-index:9999;color:#fff;font-size:12px;position:absolute;padding:10px;}
div.ie6{position:absolute;}
div.ie6.top-right{right:auto;bottom:auto;left:expression((0-jGrowl.offsetWidth+(document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.clientWidth) 0 (ignoreMe2=document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft) ) 0 px );top:expression((0+(ignoreMe=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop) ) 0 px );}
div.ie6.top-left{left:expression((0+(ignoreMe2=document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft) ) 0 px );top:expression((0+(ignoreMe=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop) ) 0 px );}
div.ie6.bottom-right{left:expression((0-jGrowl.offsetWidth+(document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.clientWidth) 0 (ignoreMe2=document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft) ) 0 px );top:expression((0-jGrowl.offsetHeight+(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight) 0 (ignoreMe=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop) ) 0 px );}
div.ie6.bottom-left{left:expression((0+(ignoreMe2=document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft) ) 0 px );top:expression((0-jGrowl.offsetHeight+(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight) 0 (ignoreMe=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop) ) 0 px );}
div.ie6.center{left:expression((0+(ignoreMe2=document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft) ) 0 px );top:expression((0+(ignoreMe=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop) ) 0 px );width:100%;}
body > div.jGrowl{position:fixed;}
div.jGrowl.top-left{left:0;top:0;}
div.jGrowl.top-right{right:0;top:0;}
div.jGrowl.bottom-left{left:0;bottom:0;}
div.jGrowl.bottom-right{right:0;bottom:0;}
div.jGrowl.center{top:0;width:50%;left:25%;}
div.center div.jGrowl-notification,div.center div.jGrowl-closer{margin-left:auto;margin-right:auto;}
div.jGrowl div.jGrowl-notification,div.jGrowl div.jGrowl-closer{background-color:#000;opacity:.85;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=85);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=85);zoom:1;width:235px;margin-top:5px;margin-bottom:5px;font-family:Tahoma, Arial, Helvetica, sans-serif;font-size:1em;text-align:left;display:none;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;padding:10px;}
div.jGrowl div.jGrowl-notification{min-height:40px;}
div.jGrowl div.jGrowl-notification div.jGrowl-header{font-weight:bold;font-size:.85em;}
div.jGrowl div.jGrowl-notification div.jGrowl-close{z-index:99;float:right;font-weight:bold;font-size:1em;cursor:pointer;}
div.jGrowl div.jGrowl-closer{padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:.9em;font-weight:bold;text-align:center;}
@media print {
div.jGrowl{display:none;}
}
.notification {
color: #ffffff;
}
Файл из архива положить в папку misc/js/
P.S. Вариант самый простой, сделал как мог :)
2012-11-17_093126.png
 

Вложения

  • jquery.jgrowl_minimized.rar
    1.7 KB · Просмотры: 60

drag

Пользователь
До чего дашли что уже аву не можем вывести. 'AVA' => $userdata['строка в таблице bb_users] ....и что-то там, а что там думаем сами. И вывод в tpl {AVA}
 
Сверху