스마트에디터 입력 용량 체크

$( document ).ready( function() {
setTimeout(function() {
var jbHtml = document.querySelector("iframe").contentWindow.document.querySelector("iframe").contentWindow.document.querySelector(".se2_inputarea");

//키보드 입력을 받았을때
jbHtml.addEventListener("keyup", function(e) {
var text = this.innerHTML;
text = text.replace(/<br>/ig, ""); // br 제거
text = text.replace(/ /ig, "");// 공백 제거
// text = text.replace(/<(\/)?([a-zA-Z]*)(\s[a-zA-Z]*=[^>]*)?(\s)*(\/)?>/ig, ""); // html 제거

var str_len = text.length;

var rbyte = 0;
var rlen = 0;
var one_char = "";

for(var i=0; i<str_len; i++){
one_char = text.charAt(i);
if(escape(one_char).length > 4){
rbyte += 3; //한글3Byte
}else{
rbyte++; //영문 등 나머지 1Byte
}

}

document.querySelector(".intro_size span").innerHTML = rbyte/1000;


//url 이미지 파일 사이즈 체크
const imgreg = /(<img[^>]*src\s*=\s*[\"']?([^>\"']+)[\"']?[^>]*>)/g;
var url_img_size = 0;

while(imgreg.test(text)){

url_img = RegExp.$2.trim();

if(url_img.substr(0,10) == 'data:image'){continue;}

$.get(url_img, function(responseText) {
url_img_size += responseText.length;


total_size = url_img_size + rbyte;
document.querySelector(".intro_size span").innerHTML = total_size/1000;

});
}

// alert(len);
// total_size = url_img_size + rbyte;
// document.querySelector(".intro_size span").innerHTML = total_size/1000;

// if(rbyte > 40000) {
// alert("최대 40000 byte까지 입력 가능합니다.");
// }
});

}, 1000)
}
);
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

HTML/CSS/기타

번호 제목 글쓴이 날짜 조회수
9 Jquery 또는 플러그인없이 마우스 오버 확대 관리자 07-05 1,336
8 구글 번역 기능 붙이기 관리자 06-10 8,520
7 [jQuery] 웹사이트에 사용가능한 슬라이더(Slider) 관리자 06-09 2,116
6 Datepicker + 년월만 선택하기 관리자 06-06 6,669
5 JCROP을 이용한 이미지 자르기 관리자 05-18 1,057
4 jquery-file-upload 관리자 05-18 1,830
3 [스크립트] printjs 관리자 12-09 1,179
2 [스크립트] eventSwipe. HTML에서 swipe 이벤트를 사용할 수 있도록 해줍니다. 관리자 11-01 1,286
1 [QR] 구글 API로 QR 코드 생성 / Wi-fi 접속 QR 코드 생성 관리자 10-21 3,948