Вопрос по авторскому скрипту
|
|
Beginner
13 сообщений
Мужчина
|
Добрый день! Начну с того, что Я воспользовался таким замечательным сервисом, как uSite.su. Мне довольно таки пригодился скрипт "Уведомление о личных ЛС как Вк". На днях Я был озабочен проблемой дизайна личных сообщений на моем uCoz сайте. Я решил, что сделаю абсолютно все манипуляции с ЛС в ajax, а если быть более точным - в uWnd.
Когда я сделал почти всю работу до конца, заметил, что у меня стоит скрипт оповещения как Вконтакте. Но он не открывает ЛС в ajax,а направляет на оригинальную страничку (чего мне не нужно).
Вот исходный код Вашего скрипта: Code $.get('/index/14', function(data){ $('b.unread', data).each(function() { var NameTheme = $(this).text(); var UrlTheme = $(this).parent('a').attr('href'); var UserTheme = $(this).parent('a').next().text(); var UrlTds = $(this).parent('a').next().attr('href');
$(".LsMesWrap").prepend('<div class="LsMesWrapp"><div style="margin-bottom:7px;"><b>Новое уведомление</b><div style="float:right;"><img src="http://www.stopschool.ru/images/delete_fp.gif" onclick="close_ls_win();" style="cursor:pointer;"></div></div><table border="0" cellpadding="0" cellspacing="0"><tr><td style="padding-left:2px;" valign="top"><div style="color:#bbb;">'+UserTheme+'<span style="padding:0px 2px;"></span><a style="color:#fff;" href="'+UrlTheme+'";>'+NameTheme+'</a></div></td></tr></table></div>'); }); }); Я покопался, и обнаружил, что у меня есть скрипт просмотра ЛС (отображение /index/14) в uWnd. Немного подумав, я решил соеденить эти два скрипта таким образом:
Code $.get('/index/14', function(data){ $('b.unread', data).each(function() { var NameTheme = $(this).text(); var UrlTheme = $(this).parent('a').attr('href'); var UserTheme = $(this).parent('a').next().text(); var UrlTds = $(this).parent('a').next().attr('href');
ajaxPm = { bHtml:function(data){return data.match(/(?:<body[^>]*?>)([\s\S]+)(?:<\/body>)/i)[0].replace(/<div class="pbarContainer"[^\/]+<\/div><\/div>/,"");}, href:function(href){$.get(href,function(data){$("#pmAJAX").html(ajaxPm.bHtml(data));ajaxPm.size();});}, size:function(){setTimeout(function(){_uWnd.getbyname('i').checksize();},300);}, start:function(){$.get("/index/14",function(data){new _uWnd('i','Личные сообщения',666,250,{autosize:1,oncontent:function(){ajaxPm.size();$("#snewmes a").live("click",function(){ajaxPm.size();});$("#pmAJAX a").live("click",function(){var h=this.href;if(h.indexOf("/index/14")!=-1){_uWnd.setTitle('i',this.innerHTML.replace(/<[^<]*?>/g,""));ajaxPm.href(h);return false;}});}},'<div id="pmAJAX">'+ajaxPm.bHtml(data)+'</div>');});} }
$(".LsMesWrap").prepend('<div class="LsMesWrapp"><div style="margin-bottom:7px;"><b>Новое уведомление</b><div style="float:right;"><img src="http://www.stopschool.ru/images/delete_fp.gif" onclick="close_ls_win();" style="cursor:pointer;"></div></div><table border="0" cellpadding="0" cellspacing="0"><tr><td style="padding-left:2px;" valign="top"><div style="color:#bbb;">'+UserTheme+'<span style="padding:0px 2px;"></span><a style="color:#fff;" href="'+UrlTheme+'" onclick="ajaxPm.start();return false;">'+NameTheme+'</a></div></td></tr></table></div>'); }); });
Вот сам скрипт просмотра /index/14 в ajax, который я добавил к скрипту об уведомлениях: Code ajaxPm = { bHtml:function(data){return data.match(/(?:<body[^>]*?>)([\s\S]+)(?:<\/body>)/i)[0].replace(/<div class="pbarContainer"[^\/]+<\/div><\/div>/,"");}, href:function(href){$.get(href,function(data){$("#pmAJAX").html(ajaxPm.bHtml(data));ajaxPm.size();});}, size:function(){setTimeout(function(){_uWnd.getbyname('i').checksize();},300);}, start:function(){$.get("/index/14",function(data){new _uWnd('i','Личные сообщения',666,250,{autosize:1,oncontent:function(){ajaxPm.size();$("#snewmes a").live("click",function(){ajaxPm.size();});$("#pmAJAX a").live("click",function(){var h=this.href;if(h.indexOf("/index/14")!=-1){_uWnd.setTitle('i',this.innerHTML.replace(/<[^<]*?>/g,""));ajaxPm.href(h);return false;}});}},'<div id="pmAJAX">'+ajaxPm.bHtml(data)+'</div>');});} } Все получилось, на первый взгляд, однако главная цель - открытие целевого сообщения '+UrlTheme+' в ajax потеряна. После модификации открывается лишь список всех сообщений в ajax. Очень прошу Вас, как профессионалов и мастеров своего дела помочь мне с этим скриптом. Нужно чтобы при нажатии на уведомление как Вконтакте открывалось сообщение в ajax.
Зараннее спасибо.
|
|
|
|
|
Бывалый
247 сообщений
Мужчина
|
Честно говоря, не совсем понял вопроса.
|
|
|
|
|
Beginner
13 сообщений
Мужчина
|
Max_Payne_2010, нужно сделать так, чтобы скрипт, который я дал, открывал в ajax не все сообщения, а только то, что пришло и высвечивается в уведомлении (это скрипт уведомление о ЛС как в ВК)
|
|
|
|
|
Бывалый
247 сообщений
Мужчина
|
Если я правильно понял Quote $.get('/index/14', function(data){ $('b.unread', data).each(function() { var NameTheme = $(this).text(); var UrlTheme = $(this).parent('a').attr('href'); var UserTheme = $(this).parent('a').next().text(); var UrlTds = $(this).parent('a').next().attr('href'); $(".LsMesWrap").prepend('<div class="LsMesWrapp"><div style="margin-bottom:7px;"><b>Новое уведомление</ b><div style="float:right;"><img src="http://www.stopschool.ru/images/delete_fp.gif" onclick="close_ls_win();" style="cursor:pointer;"></div></div><table border="0" cellpadding="0" cellspacing="0"><tr><td style="padding-left:2px;" valign="top"><div style="color:#bbb;">'+UserTheme+'<span style="padding:0px 2px;"></span><a href="javascript://" onclick="new _uWnd('ajax','Личное сообщение - '+NameTheme,'10','15',{autosize:false,modal:false,close:true,header:true,nomove:false,fixed:true},{xml:false,url:''+UrlTheme+''})">'+NameThe me+'</a></div></td></tr></table></div>'); }); }); Добавлено (06.11.2011, 17:37) --------------------------------------------- Не знаю что за фигня, но эта часть не пишется нормально, поэтому замени это Code {xml:false,url:''+UrlTheme+''})">'+NameThe me+'</a> на это Code {xml:false,url:''+UrlTheme+''})">'+NameTheme+'</a>
|
|
|
|
|
Beginner
13 сообщений
Мужчина
|
Ты понял правильно, но вся ж*па в том, что я так уже пробовал. И твой вариант тоже попробовал сейчас. После замены Code onclick="ajaxPm.start();return false;"> на Code onclick="new _uWnd('ajax','Личное сообщение - '+NameTheme,'10','15',{autosize:false,modal:false,close:true,header:true,nomove:false,fixed:true},{xml:false,url:''+UrlTheme+''})"> скрипт прекращает работу.. 
|
|
|
|
|
Бывалый
247 сообщений
Мужчина
|
Andrewlenin а зачем это заменять? Я дал измененый вариант первого скрипта. Если прекращает работу, до желательно дать то, что выдает FireBug
|
|
|
|
|
Beginner
13 сообщений
Мужчина
|
Max_Payne_2010, я не заменял. Первоначально, я вставил твой вар-т без изменений, однако скрипт не работал. И я выявил, что можно менять все, но именно от того скрипт не работает.
p.s возможно я не так выразился, но он не прекращает, а просто не работает.
|
|
|
|
|
Бывалый
247 сообщений
Мужчина
|
Quote (Max_Payne_2010) желательно дать то, что выдает FireBug
|
|
|
|
|
Beginner
13 сообщений
Мужчина
|
Max_Payne_2010 , извини, но я не часто пользуюсь fireBug'ом, как мне получить то, что он должен "выдать"?
|
|
|
|
|
Бывалый
247 сообщений
Мужчина
|
|
|
|
|
|
Beginner
13 сообщений
Мужчина
|
Только это:
unterminated string literal [Прерывать на этой ошибке] $(".LsMesWrap").prepend('<div cla...n-bottom:7px;"><b>Новое уведомление</
|
|
|
|
|
Бывалый
247 сообщений
Мужчина
|
Пробуй так Code $.get('/index/14', function(data){ $('b.unread', data).each(function() { var NameTheme = $(this).text(); var UrlTheme = $(this).parent('a').attr('href'); var UserTheme = $(this).parent('a').next().text(); var UrlTds = $(this).parent('a').next().attr('href'); $(".LsMesWrap").prepend('<div class="LsMesWrapp"><div style="margin-bottom:7px;"><b>Новое уведомление</ b><div style="float:right;"><img src="http://www.stopschool.ru/images/delete_fp.gif" onclick="close_ls_win();" style="cursor:pointer;"></div></div><table border="0" cellpadding="0" cellspacing="0"><tr><td style="padding-left:2px;" valign="top"><div style="color:#bbb;">'+UserTheme+'<span style="padding:0px 2px;"></span><a href="javascript://" onclick="new _uWnd(\'ajax\',\'Личное сообщение - \'+NameTheme,\'10\',\'15\',{autosize:false,modal:false,close:true,header:true,nomove:false,fixed:true},{xml:false,url:UrlTheme})">ТЕСТ </a></div></td></tr></table></div>'); }); });
|
|
|
|
|
Beginner
13 сообщений
Мужчина
|
Max_Payne_2010, ;(
|
|
|
|
|
Бывалый
247 сообщений
Мужчина
|
Andrewlenin ну я не экстрасенс...
Добавлено (06.11.2011, 19:00) --------------------------------------------- Хотя, попробуй еще так Quote $.get('/index/14', function(data){ $('b.unread', data).each(function() { var NameTheme = $(this).text(); var UrlTheme = $(this).parent('a').attr('href'); var UserTheme = $(this).parent('a').next().text(); var UrlTds = $(this).parent('a').next().attr('href');
function get(){ new _uWnd('ajax','Личное сообщение - '+NameTheme,'10','15',{autosize:false,modal:false,close:true,header:true,nomove:false,fixed:true},{xml:false,url:''+UrlTheme+''}); }
$(".LsMesWrap").prepend('<div class="LsMesWrapp"><div style="margin-bottom:7px;"><b>Новое уведомление</b><div style="float:right;"><img src="http://www.stopschool.ru/imagesdelete_fp.gif" onclick="close_ls_win();" style="cursor:pointer;"></div></div><table border="0" cellpadding="0" cellspacing="0"><tr><td style="padding-left:2px;" valign="top"><div style="color:#bbb;">'+UserTheme+'<span style="padding:0px 2px;"></span><a href="javascript://" onclick="get()">ТЕСТ</a></div></td></tr></table></div>'); }); });
|
|
|
|
|
Beginner
13 сообщений
Мужчина
|
неееееееееееееееееееет  Добавлено (06.11.2011, 19:04) --------------------------------------------- Я все правильно устанавливаю. Не идет
|
|
|
|
|
Бывалый
247 сообщений
Мужчина
|
Andrewlenin еще раз, я изменил немного.
|
|
|
|
|
Beginner
13 сообщений
Мужчина
|
Вроди бы написано все с одного взгляда правильно, но - 0.Добавлено (06.11.2011, 19:06) --------------------------------------------- На сей раз кое-что другое. криво, но отображаются уведомления, при щелчке мышью - ничего не происходит.
|
|
|
|
|
Бывалый
247 сообщений
Мужчина
|
Andrewlenin скринчик в студию 
|
|
|
|
|
Beginner
13 сообщений
Мужчина
|
Закрывайте тему, ребят. Мне некто creat1ve из сайта creat1ve.ucoz.ua помог =/
|
|
|
|
|