728x90
반응형

Develop!/script, Ajax 10

Ajax form data를 Query String으로 전달 시 % 값이 사라지는 문제

특정 폼에 %가 들어가는 경우 DB에 저장이 안되는 이슈가 발생하여 수정하는 중에 삽질하게 된 내용을 정리 차원에서 기록한다. 대부분 %의 문제는 DB에 SQL Injection이나 XSS 등의 문제를 회피하기 위해 발생하는 현상이라서 DAO 처리 과정 중에 문제가 발생 한 것이 아닐까란 추측으로 디버깅을 해 보았으나 SQL Prepare가 잘 되어 있었다. 고로 DAO 상에서 발생하는 문제는 아니라는 결론... 그럼 서버 단의 Filter에서 파라미터를 잘라 먹는 것은 아닐까란 생각으로 이미 만들어진 보안 Filter를 찾아서 몇 시간 삽질 했으나 이미 Filter에 값이 들어오기 전 부터 없어진 다는 것을 확인. 그럼 스크립트의 문제인 것인가?란 의문을 가지고 개발자 도구에서 console.log 로..

HTML5 Canvas를 이용한 브라우저에서 이미지 용량 줄이기

이 역시 티몬 구매후기에서 이미지 업로드와 관련된 기능을 적용하면서 나온 내용을 정리 차원에서 적어 둡니다. 구매후기 작성 시 이미지를 선택해서 업로드를 하게 되는데, 기존에는 이미지의 사이즈를 제한하는 기능이 있었고 이로 인해 이미지 제한에 걸려 이미지를 업로드 하지 못하거나, 업로드 된 원본 이미지도 용량이 너무 큰 문제가 있었습니다. (장당 3MB) 아무런 제약 없이 이용자는 이미지를 마음껏 올릴 수 있으려면 이미지 리사이즈가 필요한데, 서버단에서 용량 리사이징을 하게 되면 아까운 네트웍 비용이 들어가게 되므로 클라이언트 단에서 용량을 줄일 필요가 있었습니다. 그래서 사용하게 된 것이 HTML5의 Canvas 기능이죠. 물론 이전에 HTML5를 제대로 사용해 본 적이 없어서... 모든 기능은 최고의..

이미지 파일 업로드 전에 사이즈 미리 체크하기...^^

처음으로 팁텍을 올리는 군요... ^^;; 이미지 파일일 경우... 파일을 업로드 하기 전에 미리 크기를 체크하는 스크립트입니다. 다른 파일일 경우에는 안 해 봤는데... 아마도 안될꺼 같구요...^^;; 이미지 파일은 잘 되는 거 같습니다.^^;; 다음은 소스입니다... *************************************************************************** New Document function fileSize() { alert(document.aaa.pre.fileSize); } function dreamkos_imgview() { img_pre = 'pre'; if(event.srcElement.value.match(/(.jpg|.jpeg|.gif|...

다른 호스트, 같은 도메인간에 아이프레임 조절하기

우선 부모 프레임이 있는 주소는 http://aaa.com입니다. 그리고 프레임 내에 들어갈 주소는 http://sub.aaa.com입니다. 부모에서 자식을 제어하던, 자식에서 부모를 제어하던... 서로 호스트가 틀리면... 억세스 권한이 없다고 나오죠.. ^^ 그럴 경우... 다음과 같이 해주면 됩니다. 1. aaa.com의 문서 내에 다음과 같은 자바스크립트를 넣습니다. 2. 그리고 sub.aaa.com에도 다음과 같이 합니다. function eventLoad() { document.domain = "aaa.com"; 아이프레임 늘리는 소스... } 물론... 아이프레임 늘리는 소스는 이전 팁들에서 검색하시면 많이 나옵니다. ^^ 주의할 점은 아예 다른 도메인간에는 안되며, 같은 도메인, 틀린 호스..

폼 객체의 이름을 배열 형식으로 지었을 경우 객체에 접근하는 방법...

자바스크립트에서 폼의 객체 이름을 "objName[]" 식으로 지을 경우가 있다. 보통 php쪽에서 배열로 받기 위해서 위와 같이 짓는데... 이를 자바스크립트에서는 배열로 인식하지 못해 조금 난처한 경우가 많다. 가령 다음과 같은 경우 오류가 난다 aaa bbb ccc 체크박스의 개수는? 이럴 경우에는 다음과 같이 처리해 주면 된다. aaa bbb ccc 체크박스의 개수는? 또한 각 개체로의 접근은 다음과 같이 사용하면 된다... ex) document.forms['testForm2']['checkObj[]'][0].value 이 문제로 조금 머리 아파 하던 차에... 해결방법을 알게 되어서 올립니다. ^^

파일 업로드 시 html에서 용량 제어하기

이 파일을 전송합니다: $_FILES의 error가 2번이 나오는데 왜 그러냐는 질문을 오늘 받았습니다. 그래서 메뉴얼을 살펴 본 결과... html에서도 max file size를 제어할 수 있다는 것을 알았습니다. ^^ html 폼 안에 hidden으로 다음과 같이 넣어주면 됩니다. 여기서 이 부분이 중요합니다. 요기에다 업로드 max value(M*1024)를 적어 주시면 됩니다. 그러면 서버측에서 에러 메세지($_FILES['userfile']['error'])가 2로 나오거나... php 4.3.0 이상에서는 UPLOAD_ERR_FORM_SIZE 라고 나옵니다. 메뉴얼에는 다음과 같이 나오네요 "MAX_FILE_SIZE는 PHP가 확인하기도 하지만, 브라우저에 대한 권고입니다. 이 값을 변경하는..

XP Servicepack2, IE7에서도 팝업창 사이즈 이쁘게 조절하기

window open을 할 때 똑같은 사이즈를 줘도, sp2에서 팝업창 아래 상태바가 있는 경우와 그외의 os에서 상태바가 없는 경우 창 안의 내용들이 달라 보이는 경우가 있다. 또한 앞으로 나올 IE7의 경우에는 창 상단에 주소까지 나와서 많이 틀려보이는 경우가 발생한다. 이때 다음과 같은 스크립트를 사용하여 onload에 넣어주면, 상당히 깔끔한 window resize가 된다. cf) Dwidth, Dheight를 제대로 못 알아오는 경우가 발생할 때에는... 적당히 조절 해서 해당 수치를 그대로 넣어주는 수 밖에 없는 듯 하다. special thanks - 행복한고니님... 귀찮게 질문 드려 알아냈습니다 ㅋ

자바스크립트 객체의 개수 및 하위 객체 알아오기

객체를 만들어 사용하다가 객체의 개수를 object.length로 못 알아 온다는 것을 알고... -.-;; 이 역시 고니님께 물어봤다... 팁 겸... 자료 백업 겸... 올려본다 ㅋ var obj = { subObj_0 : { objVal : "1" }, subObj_1 : { objVal : "0" }, subObj_2 : { objVal : "0" }, subObj_3 : { objVal : "0" }, subObj_4 : { objVal : "0" }, subObj_5 : { objVal : "0" }, subObj_6 : { objVal : "0" }, subObj_7 : { objVal : "1" } } var i = 0; for (var x in obj) { alert(x); i++; } ..

파이어 폭스에서도 클립보드 접근하기

회사에서 특정 내용을 클립보드에 복사하는 기능을 만들 필요가 있었는데... 그동안 파폭은 지원이 안된다는 단정하에, 익스에서만 돌아가도록 만들었었다. 그런데 혹시나 하는 맘에 구글링 해 보았더니... 다음과 같은 팁이 나오더라... ㅋ 무단 펌질이라서 -.-;; ##### 펌 내용 시작... 혹은, MT에선 무버블타입의 경우 아래의 스크립트를 바로 해당 아카이브 템플릿의 태그 사이에 복사해 넣지 말고, Template Modules 섹션에서 clipboard라는 이름으로 템플릿 모듈을 만든 후에, 적용할 아카이브 템플릿의 태그 안에서 식으로 사용하는게 낫다. 블록을 오래 운용하다보면 당연히 이런 저런 자바스크립트 모듈을 덧붙이게 되는데 그럴 때 마다 한 메인 아카이브 템플릿에다 복사해 넣는다면 차후 수정..

자바스크립트의 인자값 개수가 정확하게 넘어 왔나 확인하기

function addNumbers(x, y) { if (arguments.length == addNumbers.length) { return (x + y); } else return 0; } addNumbers(3,4,5) // returns 0 addNumbers(3,4) // returns 7 addNumbers(103,104) // returns 207 arguments.length는... 실제 넘어온 인자 개수를 함수명.length는 함수에서 정의 한 인자 개수를 반환합니다. 두개를 비교해서 같은 경우에만 실행 시키면 되겠네요 ㅋ 제가 만든 팁은 아니구 모질라 디벨롭 센터에서 퍼 왔습니다 ^^

728x90
반응형