Как проявляется ошибка:
- при нажатии кнопки "редактировать" в самом сообщении открывается возможность редактирования. При этом внесённые изменения не сохраняются.
Никакие работы на форуме не проводились, скрипты не добавлялись.
Перестало работать быстрое редактирование
Сообщений 1 страница 20 из 22
ПеревестиПоделиться1Ср, 19 Фев 2020 22:17:24
ПеревестиПоделиться2Ср, 19 Фев 2020 22:24:51
Decision
Дайте ссылку на форум с проблемой. Желательно сразу с возможностью потестировать (данные от тестового аккаунта мне в ЛС или пиар-вход в аккаунт с возможностью редактирования сообщений).
ПеревестиПоделиться3Ср, 19 Фев 2020 22:25:40
Decision
Дайте ссылку на форум с проблемой. Желательно сразу с возможностью потестировать (данные от тестового аккаунта мне в ЛС или пиар-вход в аккаунт с возможностью редактирования сообщений).
Сейчас всю инфу скину в личку
ПеревестиПоделиться4Чт, 20 Фев 2020 00:37:48
Отмечусь, что тоже замечала такую проблему.
Но поскольку она воспроизводится не при каждом редактировании, а игроки не жаловались, то свалила вину на свой браузер.
ПеревестиПоделиться5Чт, 20 Фев 2020 00:52:12
Hecate_An
Тестировал скрипт, но баг воспроизвести не смог. Если удастся определить причину, то исправляться в этой версии скорее всего не будет, останется на следующую (которая по плану должна исправить большинство известных недоработок существующей). По срокам ничего не могу сказать, на ближайшее время точно не планируется.
ПеревестиПоделиться6Чт, 20 Фев 2020 09:01:18
Hecate_An
По срокам ничего не могу сказать, на ближайшее время точно не планируется.
Вот это прям очень жаль. Т.к. действительно помогает только скрипт вообще отключить.
Что особенно странно, у пользователей всё работает.
ПеревестиПоделиться7Чт, 20 Фев 2020 21:48:52
Вести с полей: если из быстрого редактирования перейти в Расширенный режим, текст вполне редактируется.
Очень странный глюк.
ПеревестиПоделиться8Чт, 20 Фев 2020 22:16:10
Вести с полей: если из быстрого редактирования перейти в Расширенный режим, текст вполне редактируется.
Вполне логично, ибо расширенный режим - это фактически обычное редактирование, без быстрого)
Вот это прям очень жаль. Т.к. действительно помогает только скрипт вообще отключить.
Могу дать пре-альфа версию, которая разрабатывалась еще в 2017, но без гарантий, что в ней не будет каких-либо других багов)
ПеревестиПоделиться9Чт, 20 Фев 2020 22:33:11
Decision написал(а):Вести с полей: если из быстрого редактирования перейти в Расширенный режим, текст вполне редактируется.
Вполне логично, ибо расширенный режим - это фактически обычное редактирование, без быстрого)
Decision написал(а):Вот это прям очень жаль. Т.к. действительно помогает только скрипт вообще отключить.
Могу дать пре-альфа версию, которая разрабатывалась еще в 2017, но без гарантий, что в ней не будет каких-либо других багов)
Ну я, как минимум, протестирую и скажу, если эти баги есть 
ПеревестиПоделиться10Чт, 20 Фев 2020 22:51:46
Decision
Отправил код в ЛС.
ПеревестиПоделиться11Чт, 20 Фев 2020 22:52:13
Decision
Отправил код в ЛС.
Супер, как проверю - отпишусь, работает ли
ПеревестиПоделиться12Пт, 21 Фев 2020 09:59:22
Decision
Отправил код в ЛС.
Рапортую: на "мою" проблему никак не повлияло
так же не редактируется.
Из-под юзеров нормально работает.
ПеревестиПоделиться13Пт, 21 Фев 2020 14:20:21
Decision
Ок. Поразбираюсь, как будет время.
ПеревестиПоделиться14Пт, 21 Фев 2020 16:41:40
Decision
Попробуйте такой вариант. У меня он заработал, как положено. В HTML низ:
<!-- Быстрое редактирование постов © Alex_63 // V.3 -->
<script type="text/javascript">
if($('#pun-viewtopic').length)(function() {
//====.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 encodeURIwin1251 = function(str){
var L = str.split('');str = '';
for(var i = 0; i < L.length; i++){
var code = escape(L[i]);
if (code.search(/%u[0-9A-Z]+/i)==0){
сode = parseInt(code.substr(2), 16);
if(сode > 1200) L[i] ='&#' + сode + ';';
}
str+= L[i] ;
}
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+=encodeURIwin1251(obj[i].name)+'='+encodeURIwin1251(obj[i].value);
}return s; }
});
//====//END// .serialize() под Win 1251 ====//
var lang = $('#pun').attr('class').match(/^(\w{2})/)[1];
var txtCancel = {ru: 'Отмена',en: 'Cancel'}[lang];
var txtPreview = {ru: 'Расширенный режим',en: 'Advanced mode'}[lang];
//======== function loadToMain() ===========//
function loadToMain(){/*=|=;
(function () {
function removeRating(a){try {a=a.replace(/<div class="post-rating">[\s\S]*<\/div>/mgi,'').replace(/<div class="post-vote">[\s\S]*<\/div>/mgi,'');}catch(e){};return a;}
if(window.name.indexOf('reLoadPst_')==0 ){
var $f = $(this.document), $p = $(parent.document);
var d = window.name.split('_')[1];
$f.find('#p'+d+'.post').find('img').on('error',function(e){ $(this).replaceWith($(this).clone(true,true)).addClass('reloaded').off('error')});
var LL = $f.find('#p'+d+'.post').find('.post-content').clone(true,true);
var post = $p.find('#p'+d); post.find('#post').replaceWith(LL);
if(typeof(QuoteImg)!='undefined'){ parent.setLinkAndAva(post);}
jQuery.ready();$(window).trigger('load');
function remFram(){$p.find('iframe[name="reLoadPst_'+d+'"]').detach();}
post.find('.pl-edit>a').removeClass('disabled');
if(!post.hasClass('topicpost')){remFram();return;}
var newTname = $f.find('#pun-main h1 > span').text();
var namOld = $p.find('#pun-main h1 > span').html();
newTname = newTname.replace(/‡.*&/mgi,'').replace(/†.*¤/mgi,'').replace(/¤.*¤/mgi,'');
top.document.title = newTname;
$p.find('#pun-main h1 > span:first').html(newTname);
var txt = $('#pun-crumbs1').html();
txt = txt.replace('» '+namOld,'» '+newTname);
$p.find('#pun-crumbs1,#pun-crumbs2').html(txt);
remFram ()
}
if(window.name.indexOf('rLFRam_')==0){
var $f = $(this.document), $p = $(parent.document);
var d = window.name.split('_')[1];
$f.find('#post script').remove();
jQuery.ready();$(window).trigger('load');
$f.find('#post').find('img').on('error',function(e){ $(this).replaceWith($(this).clone(true,true)).addClass('reloaded').off('error')});
var form = $f.find('#post').clone(true,true);
var hght = $p.find('#p'+d).height();// console.log(hght);
var $sel = $p.find('#p'+d).find('.pl-edit');
var cnt = removeRating ($sel.parents('.post').find('.post-box').html());
cnt = cnt.replace(/\n/g,'\\n').replace(/"/g,'"');
$sel.parents('.post').find('.post-content,form').replaceWith(form);
$sel.parents('.post').find('input[name="preview"]')[0].value = '#$1#';
$sel.parents('.post').find('textarea#main-reply')[0].rows = '13';
var btn_c=' <input type="button" class="button" id="cncl" data-pst-text="'+cnt+'" onclick="cancelEdit(this)" value="#$2#"/>';
$sel.parents('.post').find('input[name="preview"]').after(btn_c);
$sel.parents('.post').find('#post').addClass('formal').find('#post-preview').remove();
//$sel.parents('.post').find('#post').find('img[src="/i/blank.gif"]').attr('src','https://forum.mybb.ru/i/blank.gif');
//$sel.parents('.post').find('#post').find('.iconid+img').map(function(){var s=$(this).attr('src');$(this).attr('src',s.substr(5))});
if(hght>=500){var offs=$sel.parents('.post').offset().top;$('html,body',$p).scrollTop(offs);}
parent.$.getScript('https://forumstatic.ru/files/0015/c4/3f/81764.js');//.appendTo($sel.parents('.post').find('#post'));
$p.find('iframe[name="rLFRam_'+d+'"]').detach();
};
})()
=|=;*/}
loadToMain = '<script type="text/javascript">' + (loadToMain.toString().split('=|=;')[1].replace('#$1#',txtPreview).replace('#$2#',txtCancel)) + '<\/script>';
//====End::// loadToMain() ================//
//============ ОТПРАВКА ФОРМЫ =============//
function ajaxSendForm(form){
var d=form.serialize(),a=form.attr('action'),pid=form.parents('.post').attr('id').substr(1);
$('<iframe src="about:blank" style="position:absolute;" name="reLoadPst_'+pid+'" data="'+pid+'"></iframe>').appendTo('head');
$.ajax({url:a,dataType:'html',type:'POST',data:d,success:function(response) {
var pstErrs = $(response).find('#post-errors');
if(pstErrs.html()!=null){var errTxt=pstErrs.text().replace(/ /g,'');
alert(errTxt);$('.post #post .button').removeAttr('disabled');return false;
}
var pstGet = form.parents('.post').attr('id');
$(response).find('#'+pstGet).find('.post-rating,.post-vote').remove();
$(response).find('.section[style*="border:"]').remove();
if($(response).find('#pun-viewtopic').length){
setFrameContent(response,pid,'reLoadPst_');
} else {
$.get(document.URL,function(data) {
$(data).find('#p'+pstGet).find('.post-rating,.post-vote').remove();
setFrameContent(data,pid,'reLoadPst_');
});
}
},error:function(){alert('Не удается соединиться с сервером.');
$('.post #post .button').removeAttr('disabled');
}});
}
//========END:/// ОТПРАВКА ФОРМЫ =============//
var clr_bg_pst= $('.post.topicpost,.post.toppost').find(' >.container .post-body').css('background-color');
var add_Style = '<style type="text/css">.post #post{margin-bottom:3em;border:none;background:transparent;}</style>';
var add_StL02 = '<style type="text/css">.post #post .container{padding:1.7em 2.3em 1.1em 2.3em!important;}</style>';
var add_StL03 = '<style>.post #post fieldset,.post #post legend>span{background:'+clr_bg_pst+'!important;}</style>';
$('.punbb').prepend(add_Style + add_StL02 + add_StL03);
//======== Отмена редактирования ========//
window.cancelEdit = function(sel){
var $s = $(sel);
var cnt = $s.attr('data-pst-text').replace(/\\n/g,'\n');
$s.parents('.post').find('.pl-edit > a').removeClass('disabled');
$s.parents('.post').find('#post').replaceWith(cnt);
}
//======== End:Отмена редактирования ========//
//===== function setFrameContent() ==========//
function setFrameContent(a,pid,s){
var ifr = document.getElementsByName(s+pid)[0];
a=a.toString().replace(/<link.*?rel="stylesheet".*?\s\/>/mgi,'');
a=a.replace(/(?:<div class="section" style="border:0 !important.*?>(?:<div.*?><\/div>?)?<\/div>)/mgi,'');
a=a.replace(/<div id="on_OfMobile">[\s\S]*saveDay\s=\s(\d+)[\s\S]*tipsy\s=\s'.*'[\s\S]*<script.*16328\.js"><\/script>/mgi,'');
var reg = /<div id="pun".*?>[\s\S]*?<div id="pun-.*?" class="punbb">|(?:<div\sid="html-header"|<!-- html_header -->)/gim;
var partner_sc = a.split(reg)[1]; a=a.replace(partner_sc,(window.Rusff?'<script>RusffCore={init:function(){}}<\/script>':''));
a+=loadToMain;//console.log(a);
ifr.contentWindow.document.write(a);
}
//========== End: setFrameContent() =========//
//============= Обработка кликов ============//
var winLoad = false; $(window).load(function(){winLoad=true});
$('.post .pl-edit>a').live('click',function(e) {
e.preventDefault();
if($(this).hasClass('disabled')){return false;}
if(!winLoad){$(window).trigger('load');window.stop();}
$(this).addClass('disabled');var href = $(this).attr('href');
href = href.replace(/&(amp;?)?.+?$/mgi,'');
var pid = href.replace(/^.*id=(\d+)$/mgi,'$1');
$('<iframe src="about:blank" style="position:absolute;" name="rLFRam_'+pid+'" data="'+pid+'"></iframe>').appendTo('head');
var sel = $(this); var hght = $(sel).parents('.post').height();
$.get(href,function(data) {setFrameContent(data,pid,'rLFRam_');});
});
$('.post').find('input[name="preview"]').live('click',function() {
history.replaceState(null, null, $(this).parents('.post').find('.pl-edit>a').attr('href'));
});
$('.post').find('input[name="submit"]').live('click',function(e) {
e.preventDefault();var stDoc=document.URL,
L2=$(this).parents('.post').find('.pl-edit>a').attr('href');
history.replaceState(null, null, L2);
setTimeout(function(){history.replaceState(null, null, stDoc);},20);
$(this).attr('disabled','disabled');
var form = $(this).parents('form');
setTimeout(function(){ajaxSendForm(form);},12);
});
//======== End:== Обработка кликов ============//
}());
</script>ПеревестиПоделиться15Пт, 21 Фев 2020 17:01:07
sshmmv
Он чем-то отличается от обычного "Быстрое редактирование v.3"?)
ПеревестиПоделиться16Пт, 21 Фев 2020 17:10:03
sshmmv
Он чем-то отличается от обычного "Быстрое редактирование v.3"?)
Да. В одной мелочи. До того, как я ее исправил, всю жизнь ваш скрипт работал так, как описала Decision. Просто меня это не напрягало. Сейчас же он у меня заработал, как положено. По крайне мере, пока работает. (Такое с ним бывает.)
ПеревестиПоделиться17Пт, 21 Фев 2020 17:39:46
sshmmv
В упор не вижу разницы, diff тоже не находит, код идентичен, за исключением ссылки на дополнительный подгружаемый скрипт.
ПеревестиПоделиться18Пт, 21 Фев 2020 17:56:00
ссылки на дополнительный подгружаемый скрипт.
Угу. Стоило его адрес исправить на актульный, и скрипт заработал. Во всяком случае, у меня. По крайне мере, с момента исправления и по сей день проблем пока не наблюдаю.
А другие старые проблемы этого скрипта – ограниченный функционал при редактировании, – так вы и сами их знаете. Наверно.
ПеревестиПоделиться19Пт, 21 Фев 2020 19:37:39
sshmmv
Довольно странно, учитывая то, что скрипт доступен по обоим адресам. Но ладно, перезалью исходник, файлы в любом случае лучше подгружать с forumstatic.ru. Просто на момент создания и последних правок скрипта его ещё не было.
ПеревестиПоделиться20Сб, 22 Фев 2020 14:07:06
Decision
Попробуйте такой вариант. У меня он заработал, как положено. В HTML низ:
К сожалению, ничего не изменилось, из-под главадмина не редактируется, у юзеров всё нормально.
Похожие темы
| Общие вопросы от новичков (63) #2 | Форум для новичков | Пт, 15 Авг 2025 |
| Общие вопросы от новичков (56) | Архив | Сб, 6 Авг 2016 |
| Запросы по скриптам #11 | Новые возможности форумов | Пт, 26 Дек 2025 |
| Неглобальные доработки движка MyBB (с предложениями по PHP реализации) | Сделаем сервис лучше | Сб, 21 Июн 2025 |