Доброй ночи.
Возникла проблема: пользователи, администрация и гости периодически смотрят чей-то профиль, хотя на самом деле смотрят совершенно иные страницы.
Помогите решить проблему. Спасибо!
Единый форум поддержки |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Единый форум поддержки » Проблемы с форумом » Пользователи постоянно смотрят чей-то профиль
Доброй ночи.
Возникла проблема: пользователи, администрация и гости периодически смотрят чей-то профиль, хотя на самом деле смотрят совершенно иные страницы.
Помогите решить проблему. Спасибо!
MagisterYODA
Гости - боты поисковиков.
Пользователи и Администрация - возможно из-за того, что вы открываете сразу 2 страницы форума.
MagisterYODA
Ссылку на ресурс
Fover, нет, две страницы не открыты.
Deff, вот, пожалуйста.
MagisterYODA
Попробуйте переставить чуть поправленный скрипт рейтинга в HTML верх
<!--Рейтинг--> <ul id="userhero" style="position:absolute;bottom:0;margin:0 0 10px 180px"></ul> <script type="text/javascript"> $('#pun').find('#userhero').map(function(){ $('#heroes').tipsy({live: true,gravity: 's',fade: true}); $.get('/userlist.php?username=&show_group=-1&sort_by=respect','',processRespect); function processRespect(data){ $(data).find('div.usertable tbody tr:lt(5)').each(function(){ var JUser=$(this).find('span.usersname').text(); var ulink=$(this).find('span.usersname a').attr('href'); var UsId=ulink.slice(ulink.indexOf('id=')+3); var UsPlus=$(this).find('td.tc3:first').text(); $.get('/profile.php?section=avatar&id='+UsId, '',GetImg); function GetImg(data) { $(data).find('td#profile-left li div, div.fs-box').map(function () { var ZAva = $(this).find('img').attr('src'); if (ZAva == undefined) {ZAva = 'http://petushki-city.ru/files/0002/10/47/50167.gif'}; $('#userhero').append('<li style="display: inline-block;padding: 5px;text-align: center;"><a href="'+ulink+'" style="text-decoration: none;"><figure><img id="heroes" style="border:1px solid #696969;border-radius: 7px 7px 7px 7px;" src="/'+ZAva+'" width="52" height="52" original-title="'+JUser+'"><figcaption style="background:#99CC33;border-radius: 0 0 7px 7px;box-shadow: 0 0 10px #40310A inset;color: #fff;font-size: 1em;font-weight: bold;height: 20px;margin-top: -20px;position: relative;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2 );">'+UsPlus+'</figcaption></figure></a></li>'); });};});};}); </script>
Проблема осталась.. Может быть его вовсе удалить этот скрипт?
Может быть его вовсе удалить этот скрипт?
минутку подождите
MagisterYODA
Чот походу не оч помогло - *подумаю еще, может к вечеру подправлю, если Romych не опередит, хотя два тож неплохо
опять какая-то байда с
$(document).ready(function(){
вот в таком исполнении, у меня всё в порядке, каждый читает то что на самом деле читает, а не торчит в профиле лидеров рейтинга
в html-низ
<script type="text/javascript"> $(document).ready(function(){ $('#pun').find('#userhero').map(function(){ $('#heroes').tipsy({live: true,gravity: 's',fade: true}); $.get('/userlist.php?username=&show_group=-1&sort_by=respect','',processRespect); function processRespect(data){ $(data).find('div.usertable tbody tr:lt(5)').each(function(){ var JUser=$(this).find('span.usersname').text(); var ulink=$(this).find('span.usersname a').attr('href'); var UsId=ulink.slice(ulink.indexOf('id=')+3); var UsPlus=$(this).find('td.tc3:first').text(); $.get('/profile.php?section=avatar&id=' +UsId, '',GetImg); function GetImg(data) { $(data).find('td#profile-left li div, div.fs-box').map(function () { var ZAva = $(this).find('img').attr('src'); if (ZAva == undefined) {ZAva = 'http://petushki-city.ru/files/0002/10/47/50167.gif'}; $('#userhero').append('<li style="display: inline-block;padding: 5px;text-align: center;"><a href="'+ulink+'" style="text-decoration: none;"><figure><img id="heroes" style="border:1px solid #696969;border-radius: 7px 7px 7px 7px;" src="/'+ZAva+'" width="52" height="52" original-title="'+JUser+'"><figcaption style="background:#99CC33;border-radius: 0 0 7px 7px;box-shadow: 0 0 10px #40310A inset;color: #fff;font-size: 1em;font-weight: bold;height: 20px;margin-top: -20px;position: relative;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2 );">'+UsPlus+'</figcaption></figure></a></li>'); });};});};}); }); </script> <ul id="userhero"></ul>
в общем-то именно в таком варианте я его и выкладывал здесь
Romych, вставил Ваш скрипт в в html-низ - проблема осталась. Убрал скрипт вовсе - порядок, каждый читает то, что читает на самом деле. Возможно где-то в коде осталась какая-нибудь неточность?
Прошу прощения, в скрипте все в порядке. Это остался внизу html-низа кусочек, которым я пытался исправить проблему. Нашел его где-то здесь на форуме:
<div id="Nulll" style="display:none;"></div><script> $(document).ready(function() {$("#Nulll").load(document.URL+"#pun-navlinks #navindex");}); </script>
Убрал его и все заработало.
Спасибо всем за помощь.
Ерунда какая-то.. Через несколько минут снова та же проблема..
Модификация скрипта от Romych: "Доска почёта или Рейтинг самых уважаемых"
исходник: https://forum.mybb.ru/viewtopic.php?pid=793711#p793711
1. Введено суточное запоминание рейтинг-контента
2. Исправлен глюк в "Активных пользователях" с сидением в чьем-то профиле
3. Исправлен трабл с десортировкой по рейтингу, из-за разной скорости запросов
В HTML низ
<!-- Рейтинг by Romych (correct)-->
<script type="text/javascript" src="https://forumstatic.ru/files/0010/b4/f8/51860.js"></script>
<script type="text/javascript">
(function(){
var N = 5 //Число отображаемых юзеров;
var arrUserHero = '', b='"',arr00=[];
$('#heroes').tipsy({live: true,gravity: 's',fade: true});
var UserHero = getadmCookie('UserHero');if(!UserHero){
$.get('/userlist.php?username=&show_group=-1&sort_by=respect','',processRespect);
function processRespect(data){
$(data).find('div.usertable tbody tr:lt('+N+')').each(function(Ip){
var JUser=$(this).find('span.usersname').text();
var ulink=$(this).find('span.usersname a').attr('href');
var UsId=ulink.slice(ulink.indexOf('id=')+3);
var UsPlus=$(this).find('td.tc3:first').text();
arr00[Ip]=[b+JUser+b,b+UsId+b,b+UsPlus+b];
$.get('/profile.php?section=avatar&id=' +UsId, '',GetImg);
function GetImg(data) {
$(data).find('td#profile-left li div, div.fs-box').map(function () {
var ZAva = $(this).find('img').attr('src');
if (ZAva == undefined|'') ZAva = '';
arrUserHero+='\n'+Ip+':['+arr00[Ip].toString()+','+b+ZAva+b+'],';
--N;
if(!N)$(document).ready(function(){
var arr='{'+arrUserHero.substr(0,arrUserHero.length-1)+'}';
setadmCookie('UserHero',arr,24*60*60*1000);
appContent(eval('arr='+arr));$("<div></div>").load(document.URL+"#pun-navlinks #navindex");
});
});};});};}else $(document).ready(function(){appContent(eval('arr='+UserHero));});
function appContent(arr){ for(var i in arr){
var JUser = arr[i][0],UsId = arr[i][1],UsPlus = arr[i][2],ZAva = arr[i][3],ulink = '/profile.php?id='+UsId;
if (ZAva == '') {ZAva = 'http://petushki-city.ru/files/0002/10/47/50167.gif'};
$('#userhero').append('<li style="display: inline-block;padding: 5px;text-align: center;"><a href="'+ulink+'" style="text-decoration: none;"><figure><img id="heroes" style="border:1px solid #696969;border-radius: 7px 7px 7px 7px;" src="'+ZAva+'" width="52" height="52" original-title="'+JUser+'"><figcaption style="background:#99CC33;border-radius: 0 0 7px 7px;box-shadow: 0 0 10px #40310A inset;color: #fff;font-size: 1em;font-weight: bold;height: 20px;margin-top: -20px;position: relative;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2 );">'+UsPlus+'</figcaption></figure></a></li>');}
}
}());
</script>
Туда, где нужно отображение рейтинга
<ul id="userhero"></ul>
Если необходимо отображение в столбик добавляем перед cтрокой: <ul id="userhero"></ul>
Код:
<style type="text/css">#userhero li{display:block!important;width:53px}</style>
Отредактировано Deff (Чт, 31 Окт 2013 06:47:29)
Проверил последний скрипт - проблема частично решилась: боты в профили лезть перестали, но некоторые пользователи периодически туда попадают.. Решил сделать отдельную страницу под доску почета и просто оставить на нее ссылку в навигационном меню, но отображается несколько криво: не меняется количество выводимых почетных пользователей, пропали их аватарки. И никак не пойму, как это дело по центру разместить. Ссылка на страницу.
Модификация скрипта от Romych: "Доска почёта или Рейтинг самых уважаемых" исходник: Скрипты от пользователей 3
В HTML низ
Туда, где нужно отображение рейтинга
Если необходимо отображение в столбик добавляем перед cтрокой: <ul id="userhero"></ul>
Код:Отредактировано Deff (Чт, 31 Окт 2013 06:47:29)
Чего то не работает данный скрипт.
Тестовый форум абсолютно чист от скриптов, посему конфликтовать не должен ))) http://act3255test.mybb.ru
Ставил старый скрипт, на основной форум, но там косяки с профилями.
Отредактировано ACT3255 (Ср, 11 Фев 2015 16:23:26)
ACT3255
На Основном - Работает:, http://savepic.su/5018851.jpg
в HTML низ , в начало
Код:<ul id="userhero"></ul> <script type="text/javascript" src="https://forumstatic.ru/files/0010/b4/f8/51860.js"></script> <script type="text/javascript"> (function(){ var N = 5 //Число отображаемых юзеров; var arrUserHero = '', b='"',arr00=[]; $('#heroes').tipsy({live: true,gravity: 's',fade: true}); var UserHero = getadmCookie('UserHero');if(!UserHero){ $.get('/userlist.php?username=&show_group=-1&sort_by=respect','',processRespect); function processRespect(data){ $(data).find('div.usertable tbody tr:lt('+N+')').each(function(Ip){ var JUser=$(this).find('span.usersname').text(); var ulink=$(this).find('span.usersname a').attr('href'); var UsId=ulink.slice(ulink.indexOf('id=')+3); var UsPlus=$(this).find('td.tc3:first').text(); arr00[Ip]=[b+JUser+b,b+UsId+b,b+UsPlus+b]; $.get('/profile.php?section=avatar&id=' +UsId, '',GetImg); function GetImg(data) { $(data).find('td#profile-left li div, div.fs-box').map(function () { var ZAva = $(this).find('img').attr('src'); if (ZAva == undefined|'') ZAva = ''; arrUserHero+='\n'+Ip+':['+arr00[Ip].toString()+','+b+ZAva+b+'],'; --N; if(!N)$(document).ready(function(){ var arr='{'+arrUserHero.substr(0,arrUserHero.length-1)+'}'; setadmCookie('UserHero',arr,24*60*60*1000); appContent(eval('arr='+arr));$("<div></div>").load(document.URL+"#pun-navlinks #navindex"); }); });};});};}else $(document).ready(function(){appContent(eval('arr='+UserHero));}); function appContent(arr){ for(var i in arr){ var JUser = arr[i][0],UsId = arr[i][1],UsPlus = arr[i][2],ZAva = arr[i][3],ulink = '/profile.php?id='+UsId; if (ZAva == '') {ZAva = 'http://petushki-city.ru/files/0002/10/47/50167.gif'}; $('#userhero').append('<li style="display: inline-block;padding: 5px;text-align: center;"><a href="'+ulink+'" style="text-decoration: none;"><figure><img id="heroes" style="border:1px solid #696969;border-radius: 7px 7px 7px 7px;" src="'+ZAva+'" width="52" height="52" original-title="'+JUser+'"><figcaption style="background:#99CC33;border-radius: 0 0 7px 7px;box-shadow: 0 0 10px #40310A inset;color: #fff;font-size: 1em;font-weight: bold;height: 20px;margin-top: -20px;position: relative;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2 );">'+UsPlus+'</figcaption></figure></a></li>');} } }()); </script>
Отредактировано Deff (Ср, 11 Фев 2015 16:34:01)
Deff
Спасибо большое!
ACT3255
Да НЗЧт, суть в том что скрипт устаревший, нун править, а сил и времени нет
ACT3255
Ты скрипт поставил ? В Конец HTML низ ? Cм Пост 11 этой темы
Вы здесь » Единый форум поддержки » Проблемы с форумом » Пользователи постоянно смотрят чей-то профиль