주제: replaceAll 버그(무한루프)
1.0.4 이후 개발버전(원본, 실험본 둘 다)에서 script/common.js 파일 내에 추가된 replaceAll 함수 문제입니다.
기존의 방식은 replaceAll("&", "&") 같은 경우 무한루프에 빠지게 됩니다.
(script/generaltag.js 파일 내에 존재함)
태그 내에 "te"를 입력하면 무한루프에 빠지길래 원인을 찾다가 발견하게 되었네요.
(Terms & Vocabulary 라는 태그에서 무한 루프에 빠지는 듯..)
if(!String.prototype.replaceAll) {
String.prototype.replaceAll = function(source, target) {
var buffer = this;
if(source != target)
while(buffer.indexOf(source) != -1)
buffer = buffer.replace(source, target);
return buffer;
}
}위를 아래와 같이 수정해서 실험본에 커밋하겠습니다.
if(!String.prototype.replaceAll) {
String.prototype.replaceAll = function(source, target) {
return this.replace(new RegExp(source, "gi"), target);
}
}