Kod
function asdf(inst) {
var begin = 'src="';
var RegExpAllImages = new RegExp('<img[^>]+>', 'g');
var mached = inst.match(RegExpAllImages);
var RegExpImgSrc = new RegExp('src="[^"]+"', 'i');
var RegExpHttphost = new RegExp('^src="http', 'i');
var RegExpFirstSlash = new RegExp('^/', 'i');
//var RegExpReplaceContent = new RegExp('');
for(var i=0; i<mached.length; i++) {
var src = mached[i].match(RegExpImgSrc);
if(RegExpHttphost.test(src) == false) {
var srcOrg = src.toString();
src = srcOrg.substr(14);
if(RegExpFirstSlash.test(src)) {
src = begin + '/' + src;
var toReplace = mached[i].replace(RegExpImgSrc, src);
inst = inst.replace(new RegExp(mached[i]), toReplace);
}
}
}
return inst;
}
var begin = 'src="';
var RegExpAllImages = new RegExp('<img[^>]+>', 'g');
var mached = inst.match(RegExpAllImages);
var RegExpImgSrc = new RegExp('src="[^"]+"', 'i');
var RegExpHttphost = new RegExp('^src="http', 'i');
var RegExpFirstSlash = new RegExp('^/', 'i');
//var RegExpReplaceContent = new RegExp('');
for(var i=0; i<mached.length; i++) {
var src = mached[i].match(RegExpImgSrc);
if(RegExpHttphost.test(src) == false) {
var srcOrg = src.toString();
src = srcOrg.substr(14);
if(RegExpFirstSlash.test(src)) {
src = begin + '/' + src;
var toReplace = mached[i].replace(RegExpImgSrc, src);
inst = inst.replace(new RegExp(mached[i]), toReplace);
}
}
}
return inst;
}
I podczas gdy użytkownik zmieni treść w tym edytorze wywoływana jest taka
Kod
function myCustomOnChangeHandler(inst) {
var begin = 'data-mce-src="';
var content = inst.getBody().innerHTML;
var RegExpAllImages = new RegExp('<img[^>]+>', 'gi');
var mached = content.match(RegExpAllImages);
var RegExpImgSrc = new RegExp('data-mce-src="[^"]+"', 'i');
var RegExpHttphost = new RegExp('^data-mce-src="http', 'i');
var RegExpFirstSlash = new RegExp('^/', 'i');
for(var i=0; i<mached.length; i++) {
var src = mached[i].match(RegExpImgSrc);
if(RegExpHttphost.test(src) == false) {
var srcOrg = src.toString();
src = srcOrg.substr(14);
if(RegExpFirstSlash.test(src)) {
src = begin + src.substr(1);
var toReplace = mached[i].replace(RegExpImgSrc, src);
content = content.replace(new RegExp(mached[i]), toReplace);
inst.getBody().innerHTML = content;
}
}
}
}
var begin = 'data-mce-src="';
var content = inst.getBody().innerHTML;
var RegExpAllImages = new RegExp('<img[^>]+>', 'gi');
var mached = content.match(RegExpAllImages);
var RegExpImgSrc = new RegExp('data-mce-src="[^"]+"', 'i');
var RegExpHttphost = new RegExp('^data-mce-src="http', 'i');
var RegExpFirstSlash = new RegExp('^/', 'i');
for(var i=0; i<mached.length; i++) {
var src = mached[i].match(RegExpImgSrc);
if(RegExpHttphost.test(src) == false) {
var srcOrg = src.toString();
src = srcOrg.substr(14);
if(RegExpFirstSlash.test(src)) {
src = begin + src.substr(1);
var toReplace = mached[i].replace(RegExpImgSrc, src);
content = content.replace(new RegExp(mached[i]), toReplace);
inst.getBody().innerHTML = content;
}
}
}
}
Obie funkcje mają takie same wyrażenia, ale ta pierwsza wyrzuca błąd w miejscu, gdzie jest pętla a druga działa dobrze. Siedzę na tym od paru godzin i nie mam pomysłu czego to może być wina. Bardzo prosze o pomoc.