Как исправить скрипт "Оповещение о ЛС"?

голоса: 0
Есть вот такой скрипт:

<?if($USER_LOGGED_IN$)?>
<div id="one_pm"></div>

<script type="text/javascript">
var no_ava = '$USER_AVATAR_URL$';
var this_mess_link = '';
function m_reload() {
if($('#one_pm').html()=='') {
$.get('/index/14?'+Math.random(), function (data) {
$('b.unread', data).each(function (i,index) {
getLink = $(index).parent().attr("href");
this_mess_link = getLink;
getText = $(index).parent().text();
getAuthorName = $(index).parent().parent().children('a').eq(1).text();
getAuthor = $(index).parent().parent().children('a').eq(1).attr("href");
getID = '#one_pm'+i;
var xml = $.ajax({
 type: 'GET',
 url: '/api/index/8-0-'+getAuthorName.replace('-','~'),
 dataType: 'xml',
 async: false
 }).responseText;
var urlAvatar = $(xml).find('struct:first member:contains("USER_AVATAR")').find('string').text();
var userName = $(xml).find('struct:first member:contains("USER_NAME")').find('string').text();
$('#one_pm').html('<div id="one_pm'+i+'" style="display:none">'
+'<div class="h_newpm">'
+'<div class="h_npin"><a class="h_nover" href="'+getLink+'"></a>'
+'<div class="h_nptitle">Новое сообщение</div><span class="h_del" onclick="h_del();return false;"></span>'
+'<div class="h_npl"><div class="h_npimg"><a href="#" id="hnp_avatar"></a></div></div>'
+'<div class="h_npr"><a href="#" id="hnp_author"></a> <a id="hnp_text" href="'+getLink+'">'+getText+'</a></div>'
+'</div>'
+'</div>'
+'</div><div id="hnp_sound"></div>');
$(getID+' #hnp_author').attr('href', getAuthor);
$(getID+' #hnp_avatar').attr('href', getAuthor);
$(getID+' #hnp_author').html(userName);
$(getID+' #hnp_avatar').html('<img src="'+ (urlAvatar == '' ? no_ava : urlAvatar )+'">');
setTimeout(function(){$(getID).slideDown(200);},200);
$('#hnp_sound').html('<audio src="/img/vk.mp3" volume="1" autoplay></audio>');setTimeout(function(){$('#hnp_sound').html('')},2000);
});
});
}
}
function h_del() {$('#one_pm').fadeOut(200,function(){$('#one_pm').html('<i></i>')});$.get(this_mess_link);}
m_reload();setInterval(function(){m_reload()}, 15000);
</script>
<?endif?>

 

Нужно чтобы при нажатии на оповещение, ЛС открывалась не в новой вкладке на весь монитор, а как стандартное в уменьшенном варианте. Уже весь мозг себе вынесла. Ничего не понимаю что нужно изменить. Помогите, пожалуйста...
Закрыто с пометкой: Ответ получен! За исправлением обращайтесь к фрилансерам либо к автору скрипта!
| Автор: | Категория: JavaScript
Закрыт | | Автор: Yuri_Geruk

Ответов: 1

Голоса: +1
 
Лучший ответ

Вроде так:

<a <?if($USER_LOGGED_IN$)?>
 <div id="one_pm"></div>

 <script type="text/javascript">
 var no_ava = '$USER_AVATAR_URL$';
 var this_mess_link = '';
 function m_reload() {
 if($('#one_pm').html()=='') {
 $.get('/index/14?'+Math.random(), function (data) {
 $('b.unread', data).each(function (i,index) {
 getLink = $(index).parent().attr("href");
 this_mess_link = getLink;
 getText = $(index).parent().text();
 getAuthorName = $(index).parent().parent().children('a').eq(1).text();
 getAuthor = $(index).parent().parent().children('a').eq(1).attr("href");
 getID = '#one_pm'+i;
 var xml = $.ajax({
  type: 'GET',
  url: '/api/index/8-0-'+getAuthorName.replace('-','~'),
  dataType: 'xml',
  async: false
  }).responseText;
 var urlAvatar = $(xml).find('struct:first member:contains("USER_AVATAR")').find('string').text();
 var userName = $(xml).find('struct:first member:contains("USER_NAME")').find('string').text();
 $('#one_pm').html('<div id="one_pm'+i+'" style="display:none">'
 +'<div class="h_newpm">'
 +'<div class="h_npin"><a class="h_nover" href="javascript://" onclick="window.open(\''+getLink+'\',\'wLC\',\'scrollbars=1,width=550,height=450,left=0,top=0\');return false;"></a>'
 +'<div class="h_nptitle">Новое сообщение</div><span class="h_del" onclick="h_del();return false;"></span>'
 +'<div class="h_npl"><div class="h_npimg"><a href="#" id="hnp_avatar"></a></div></div>'
 +'<div class="h_npr"><a href="#" id="hnp_author"></a> <a id="hnp_text" href="'+getLink+'">'+getText+'</a></div>'
 +'</div>'
 +'</div>'
 +'</div><div id="hnp_sound"></div>');
 $(getID+' #hnp_author').attr('href', getAuthor);
 $(getID+' #hnp_avatar').attr('href', getAuthor);
 $(getID+' #hnp_author').html(userName);
 $(getID+' #hnp_avatar').html('<img src="'+ (urlAvatar == '' ? no_ava : urlAvatar )+'">');
 setTimeout(function(){$(getID).slideDown(200);},200);
 $('#hnp_sound').html('<audio src="/img/vk.mp3" volume="1" autoplay></audio>');setTimeout(function(){$('#hnp_sound').html('')},2000);
 });
 });
 }
 }
 function h_del() {$('#one_pm').fadeOut(200,function(){$('#one_pm').html('<i></i>')});$.get(this_mess_link);}
 m_reload();setInterval(function(){m_reload()}, 15000);
 </script>
 <?endif?> title="BB-Коды">

| Автор:
Выбор ответа лучшим | | Автор: Yuri_Geruk

(<a <?if($USER_LOGGED_IN$)?>
 <div id="one_pm"></div>...)

К сожалению нет, не сработало: с этим тегом <a   вообще не работает скрипт. Без него все также открывается отдельная страница.

Anna Subosh,
вот это удали в самом начале
<a
и в самом конце
 title="BB-Коды">

странно, вроде бы должно работать...
Вовчик,
Нет, вновь попробовала, не получается. Может это поможет, скрипт я взяла отсюда: http://webmaster-ucoz.ru/scripts/opoveschenie-o-novom-soobschenii-kak-vkontakte. Он ставится вниз сайта и впринципе работает. Но вот пользователям не нравится, что он открывается на весь экран и им приходится потом нажимать на стрелочку в браузере...
...