Как с помощью браузера можно определить элемент дизайна. | |
Полезные скрипты, необходимые темы для новичков, а также ссылки на сайты рассказывающие что такое НТМЛ и CSS. | |
Ответы на часто задаваемые вопросы. | |
Как задавать вопросы! Разница между стилем и скриптом. ( Советы) | Плюс к названию темы еще и Памятка. |
Запросы по скриптам[4]
Сообщений 481 страница 500 из 1000
Поделиться1Вс, 3 Май 2015 16:18:44
Поделиться481Пт, 28 Авг 2015 04:06:55
i_am_your_soul
Хм, поправил скрипты, - есть минусы, при отсутствии всплывающей инфы в минипрофиле, рамка не ставиться
Можно попробовать добавить для таких профилей старый скрипт, (ставим ниже) рамки для профилей с инфой, тогда
<style type="text/css">
.pa-avatar>div:not(.Wrp-ava1){
position:relative;
z-index:20;
display:inline-block;
margin: auto;
padding:0;
}
.pa-avatar>div:not(.Wrp-ava1)>img{
position:absolute;
top:0;left:0;
z-index:-2;
}
.pa-avatar>div>span{
margin-top: -2px;
padding:3px 5px;
display:block;
border:3px rgba(121,103,21,0.6); /*Цвет верхнего бордера*/
border-style:solid none none none;
background:rgba(0,0,0,0.8); /*Цвет перекрывающего фона*/
opacity:0;
transition: opacity 0.8s;
}
.pa-avatar:hover>div>span{
opacity:1.0;
}
.pa-avatar>div>span a{
color:#a2840c!important; /*Цвет ccылок*/
}
.pa-avatar>div>span a:hover{
color:#d0d1e2!important; /*Цвет ccылок при наведении*/
text-decoration:underline!important;
}
</style>
<script type="text/javascript">
$('.pa-avatar').each(function(){
var that =$(this).parents('.post-author').find('.ava-wrp::first'),
a = $(this).find('img:first');
if(a.length&&that.length){
b = that.parents('li[class^="pa-fld"]'),
h = a.height(),w=a.width(),
c = a.wrap('<div style="width:'+w+'px;height:'+h+'px;"></div>').parent();
c.prepend('<span style="max-width:100%;height:'+(h-3*2-0)+'px;">'+b.remove().html()+'</span>');
}
});
</script>
<!--Ставим рамки для Аватара к скрипту всплывающей инфы -->
<script>
$(document).ready(function(){
var imgWrp = "http://images.vfl.ru/ii/1440624873/ba889a0c/9710710.png"; // Ccылка на картинку;
imgWrp = '<img src="'+imgWrp+'" width=100% height=100% alt="" style="position:absolute;##"/>'
$("li.pa-avatar> div> img[alt]").each(function () {
var img = this.src;
$(this).replaceWith(imgWrp.replace('##','background-size:70% 70%; background:transparent url('+img+') no-repeat 0 0'));
});});
</script><!--Конец//Рамки для Аватара к скрипту всплывающей инфы -->
<!--Ставим рамки для Аватара -->
<style type="text/css">
li.pa-avatar .Wrp-ava1 img[alt]{
display:block;
padding:0;
border-width:0;
margin: 7px; /*Отступ рамки*/
}
</style>
<script>
$(document).ready(function(){
var imgWrp = "http://images.vfl.ru/ii/1440624873/ba889a0c/9710710.png"; // Ccылка на картинку;
imgWrp = '<img src="'+imgWrp+'" width=100% height=100% style="position:absolute;z-index:100;"/>'
$("li.pa-avatar > img[alt]").each(function () {
$(this).wrap('<div class="Wrp-ava1" style="display:inline-block;text-align:left;position:relative;"></div>');
$(this).parent().prepend(imgWrp)
});});
</script><!--Конец//Рамки для Аватара-->
Поделиться482Пт, 28 Авг 2015 11:13:23
Deff
Поковырялся тут по запросу Dango, вот что получилось:
<script type="text/javascript">
(function(){
if(!(GroupID!=3 && $('#pun-viewtopic,#pun-post').length && $('#post').length && this.document==top.document)) return;//====.serialize() под Win 1251 ====//
// Инициализируем таблицу перевода
var transAnsiAjaxSys = [];
var arr=[0x402,0x403,0x201A,0x453,0x201E,0x2026,0x2020,0x2021,0x20AC,0x2030,0x409,0x2039,
0x40A,0x40C,0x40B,0x40F,0x452,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,'0',0x2122,0x459,0x203A,0x45A,
0x45C,0x45B,0x45F,0x0A0,0x40E,0x45E,0x408,0x0A4,0x490,0x0A6,0x0A7,0x401,0x0A9,0x404,0x0AB,
0x0AC,0x0AD,0x0AE,0x407,0x0B0,0x0B1,0x406,0x456,0x491,0x0B5,0x0B6,0x0B7,0x451,0x2116,0x454,
0x0BB,0x458,0x405,0x455,0x457,0x410,0x411,0x412,0x413,0x414,0x415,0x416,0x417,0x418,0x419,
0x41A,0x41B,0x41C,0x41D,0x41E,0x41F,0x420,0x421,0x422,0x423,0x424,0x425,0x426,0x427,0x428,
0x429,0x42A,0x42B,0x42C,0x42D,0x42E,0x42F,0x430,0x431,0x432,0x433,0x434,0x435,0x436,0x437,
0x438,0x439,0x43A,0x43B,0x43C,0x43D,0x43E,0x43F,0x440,0x441,0x442,0x443,0x444,0x445,0x446,
0x447,0x448,0x449,0x44A,0x44B,0x44C,0x44D,0x44E,0x44F
];
var arLng = arr.length;
for (var i = 0; i < arLng; i++)transAnsiAjaxSys[arr[i]]=i+128;
for (var i = 0x410; i <= 0x44F; i++) transAnsiAjaxSys[i] = i - 0x350; // А-Яа-яvar MyencodeURIwin125 = function(str){
var ret = [];
for (var i = 0; i < str.length; i++) {
var n = str.charCodeAt(i);
if (typeof transAnsiAjaxSys[n] != 'undefined')
n = transAnsiAjaxSys[n];
if (n <= 0xFF)
ret.push(n);
}
return escape(String.fromCharCode.apply(null, ret)).replace(/\+/mg,'%2B');
}$.fn.extend({serialize : function() {
var s = '';
var obj = this.serializeArray();
var Lng = obj.length;
for(var i=0;i<Lng;i++){
if(i)s+='&';
s+=MyencodeURIwin125(obj[i].name)+'='+MyencodeURIwin125(obj[i].value);
}
return s; }
})
//====//END// .serialize() под Win 1251 ====////==== Распарс поста с символом &del& ====//
$('.post-content p:contains("&del&")').each(function(){
if(GroupID>2){
$(this).parents('.post').css({'display':'none'});
};
if(GroupID<=2){
$(this).parents('.post').find('h3>span').append('<dd class="moder-ntf">Сообщение удалено пользователем.</dd>');
$('dd.moder-ntf').css({
'display':'inline-block',
'float':'right',
'font-weight':'400',
'color':'#AB3636'
});
$(this).parents('.post').find('.pl-delete').after('<li class="pl-rst"><a href="#">Восстановить</a></li>');
$(this).parents('.post').find('.pl-rst').after('<li class="pl-move"><a href="#">Перенести</a></li>');
$(this).parents('.post-content').find('p:contains("&del&"), .lastedit').remove();
};
});
if(GroupID>2){
$('.post').each(function(){
$(this).find('.pl-delete').remove();
$(this).find('.pl-edit').before('<li class="pl-remove"><a href="#">Удалить</a></li>');
});
}//==== Удаляем .lastedit у Восстановленного поста ====//
$('.post .post-content p:contains("&edit&")').each(function (){
$(this).parents('.post').find('.lastedit').remove();
$(this).remove();
});
if($('#pun-edit').length){//alert()
$(function (){
$('#post').find('#main-reply').each(function(){
if($(this).val().indexOf('&edit&')!=-1){
var rpCnt = $(this).val().replace('\n\n','').replace('&edit&','');alert(rpCnt);
$(this).val(rpCnt); var val=$(this).val();alert(val);
};
});
});
};//==== Отправка запроса на страницу Редактирования ====//
$('.post').each(function(){
var editLnk = $(this).find('.pl-edit>a').attr('href');
if($(this).find('.pa-author>a').text()==UserLogin){
$(this).find('.pl-remove').live('click',function(e){
e.preventDefault();
var pst = $(this).parents('.post');
$.get(editLnk,function(data){//alert(data);
var form = $(data).find('#post');
var cnt = form.find('#main-reply').val();//alert(cnt);
var lnk = form.attr('action');//alert(lnk);
form.find('#main-reply').val(cnt+'\n\n'+'&del&'); //var newCnt=form.find('#main-reply').val();alert(newCnt);
var frmDat = form.serialize();//alert(frmDat);
$.ajax({
url: lnk,
type: "POST",
dataType: "html",
data: frmDat,
success: function (){
//alert('Запрос Отправлен!');
pst.find('.container, h3, .post-author').hide();
pst.append('<div class="del-msg">Сообщение удалено. <a class="restore" href="#">Восстановить...</a></div>');
}
});
});
});
}//===Восстановление поста===//
$(this).find('a.restore, .pl-rst').live('click',function(e){
e.preventDefault();
var pst = $(this).parents('.post');
$.get(editLnk,function(data){//alert(data);
var form = $(data).find('#post');
var cnt = form.find('#main-reply').val();//alert(cnt);
var lnk = form.attr('action');//alert(lnk);
if(cnt.indexOf('&edit&')!=-1||GroupID<=2){
var newCnt = cnt.replace('\&del\&',''); //alert(newCnt);
}else{
newCnt = cnt.replace('\&del\&','\&edit\&');//alert(newCnt);
}
form.find('#main-reply').val(newCnt); //var tstCnt=form.find('#main-reply').val();alert(tstCnt);
var newFrmDat = form.serialize();//alert(newFrmDat);
$.ajax({
url: lnk,
type: "POST",
dataType: "html",
data: newFrmDat,
success: function (){
//alert('Запрос Отправлен!');
if(GroupID>2){
$('.del-msg').remove();
pst.find('.container, h3, .post-author').show();
};if(GroupID==1||2){
pst.each(function(){
$(this).find('.moder-ntf, .pl-rst, .pl-move').remove();
});
}
}
});
});
});
});//==== Перемещение поста ====//
$('.post').each(function (){
$(this).find('.pl-move').live('click',function(e){
e.preventDefault();
$(this).parent().append('<div class="post-move" style="position:absolute;right:160px;margin-top:-130px;"></div>');
var tID = $('html').find('link[rel="alternate"]').attr('href').split('tid=')[1],
fID = $('html').find('link[rel="up"]').attr('href').split('id=')[1];
$('.post-move').append('<form class="container" method="post" action="http://hostjs.mybb.ru/moderate.php?fid='+fID+'&tid='+tID+'&mode=move"><fieldset><legend><span>Введите URL адрес темы, в которую необходимо перенести сообщение</span></legend><div class="fs-box"><input type="hidden" name="posts" value="###"><p><input type="text" size="80" maxlength="100" name="new_tid"></p></div></fieldset><p class="formsubmit"><input type="submit" class="button" name="move_posts_comply" value="Переместить"></p></form>');
$(this).parents('.post').find('input[name="posts"]').attr('value',($(this).parents('.post').attr('id').split('p')[1]));
$('.post-move').find('.formsubmit .button').live('click',function(event){
event.preventDefault();
var formDt = $('.post-move>form').serialize();//alert(formDt);
var formLnkN = $('.post-move>form').attr('action');//alert(formLnkN);
$.ajax({
lnk: formLnkN,
type: "POST",
dataType: "html",
data: formDt,
success: function (){
$('.post-move').parents('.post').remove();alert('Сообщение перенесено.');
}
});
});
});
});
}())
</script>
Под юзером "удаляет" и "восстанавливает" посты нормально, а под модером/админом - восстановить не дает, вылетает ошибка:
Неверный источник. Вы попали на эту страницу из несанкционированного источника. Пожалуйста, вернитесь и попробуйте еще раз. Если проблема остается: попробуйте отключить антивирус и(или) фаервол.
То же самое происходит и при попытке перенести пост скриптом. Как с этим бороться?
Форум http://hostjs.mybb.ru/
Поделиться483Пт, 28 Авг 2015 14:32:53
Можно попробовать, для скрипта будёт нужно текстовое доп. поле редактируемое юзером
Простите, я вас не вполне поняла. Юзерам самим придется свою статистику делить, что ли? Или это нужно для работы скрипта?
Поделиться484Пт, 28 Авг 2015 14:39:27
Коша-сан
Можно попробовать, для скрипта будёт нужно текстовое доп. поле редактируемое юзером
Поделиться485Пт, 28 Авг 2015 15:17:48
Лучше не менять проценты если выхотите отодвинуть рамку от краёв картинки лучше
Поняла! Спасибо еще раз
Появилась только проблемка. В сообщении некорректно отображается эта рамка... Не пойму, в чем проблема
Отредактировано i_am_your_soul (Пт, 28 Авг 2015 15:19:59)
Поделиться486Пт, 28 Авг 2015 15:27:48
i_am_your_soul
Поставьте суммарный код из спойлера(вместо всего текущего), сообщение (481)
Поделиться487Пт, 28 Авг 2015 15:29:12
Под юзером "удаляет" и "восстанавливает" посты нормально, а под модером/админом - восстановить не дает, вылетает ошибка:
То же самое происходит и при попытке перенести пост скриптом. Как с этим бороться?
Антиспам поставил в низкий ?
2. Посмотри внимательно текущую форму в топике под Админом - Модером (Может Максим какие параметры изменил, которые не учтены в сокращённой заготовке формы в скрипте ?
Поделиться488Пт, 28 Авг 2015 15:31:52
Deff
Антиспам низкий стоит.. Еще раньше выставлял.
Поделиться489Пт, 28 Авг 2015 15:38:42
Alex_63
Чтобы перенести пост нужен фрейм со страницей переноса постов, ибо Максим сделал привязку всех отправок к страницам на которых есть такие формы(считывает рефер на сервере), Либо запоминать действие и параметры в LocalStorage и переходить на нужную страницу с формой( location.href) и там только выполнять действие
Поделиться490Пт, 28 Авг 2015 16:26:46
Deff
Пока не очень представляю, как это делается(как создать фрейм), можете помочь?
Поделиться491Пт, 28 Авг 2015 16:42:53
Alex_63
Ну может наплевать на перенос ? просто дать иконку со ссылкой перехода на страницу переноса данного поста ? (Так сделано в скрипте премодерации)
Поделиться492Пт, 28 Авг 2015 16:55:18
Ну может наплевать на перенос ? просто дать иконку со ссылкой перехода на страницу переноса данного поста ? (Так сделано в скрипте премодерации)
Можно и так, но убирать спецсимвол из сообщения под модератором (восстановление) тож не получаецо - походу та же ошибка, т.к. запрос отправляется, но пост не редактируется
Поделиться493Пт, 28 Авг 2015 16:59:42
Можно и так, но убирать спецсимвол из сообщения под модератором (восстановление) тож не получаецо - походу та же ошибка, т.к. запрос отправляется, но пост не редактируется
Проверь/cравни текущую форму ответа в топике(ты ж наверно её используешь для правки ?) и при редактировании сообщения, возможно при редактировании она чуть иная под модером-админом?
По крайней мере там должны быть доп чекиты - не оставлять уведомление о редактировании
2. Ты обрабатываешь поправленную форму перед отправкой функцией function process_form(the_form) ?
Если ты посмотришь мои скрипты с отправкой формы ответа скриптом, я создавал свою минимизированную форму #post c иным id, вставлял в её техтarea исправленный контент, обрабатывал функцией function process_form(the_form) ? ток потом serialize() и отправка
C фреймом есть скрипт предпросмотра в Личке (первая версия) - Не советую связываться с фреймами, они тьву не нужны для отправки исправленного
Поделиться494Пт, 28 Авг 2015 17:18:48
Deff
Проверь/cравни текущую форму ответа в топике(ты ж наверно её используешь для правки ?) и при редактировании сообщения, возможно при редактировании она чуть иная под модером-админом?
Я отправляю GET запрос на страницу редактирования, получаю значение формы Ответа на стр.Редактирования .val() ; затем меняю '&del&' на '' , делаю .serialize() и отправляю форму POST запросом на страницу редактирования /edit.php?id=40285&action=edit
Поделиться495Пт, 28 Авг 2015 17:22:05
Я отправляю GET запрос на страницу редактирования, получаю значение формы Ответа на стр.Редактирования .val() ; затем меняю '&del&' на '' , делаю .serialize() и отправляю форму POST запросом на страницу редактирования /edit.php?id=40285&action=edit
Нет обработки формы функцией process_form($(cелектор полученной или созданной формы)[0]), смотри выше как делал я
При отправке настоящая форма обрабатывается функцией, которая и вставляет ключ в форму ответа
<form id="post" class="container" method="post" action="http://forum.mybb.ru/edit.php?id=870126&action=edit" onsubmit="return process_form(this)">
При отправке скриптом это нужно делать искуственно, до serialize() и отправки
=============
Можно посмотреть скрипт автопродления тем (Или тот же предпросмотр в личке)
Поделиться496Пт, 28 Авг 2015 17:36:12
Deff
ОК, пошел смотреть скрипт Предпросмотра.
Поделиться498Пт, 28 Авг 2015 18:26:36
Alex_63
Все как и было, перед отправкой Аяксом, далее:
1. вставляешь в текущую существую форум в топике в #main-reply текст "[code-tmp]"
2. Запускаешь process_form($('#post')[0])
3. Изымаешь текст "[code-tmp]"
4. Клонируешь <div id="formkey"> и <div id="formetc"> и переносишь в отправляемую форму
5. Сериализуешь и отправляешь
Поделиться499Пт, 28 Авг 2015 18:38:46
Deff
Не выходит.
Пробовал и через .clone() и .replaceWith() (в форму для редактирования), и через .html()
Поделиться500Пт, 28 Авг 2015 18:57:16
Alex_63
//==== process_form(), получение Ключей ====//
var reply = $('#main-reply');
var rep = reply.val();
reply.val(rep+'[code-tmp]');
process_form($('#post')[0]);
reply.val(rep);
var key0 = $('#post').find('#formkey').clone();
var key1 = $('#post').find('#formetc').clone();
alert(key1.html())
=============
//далее key1.prependTo(полученная Аяксом форма)
//далее key0.prependTo(полученная Аяксом форма)