개발/HTML, JS 8

Javascript 소스(source) 난독화(Obfuscated) 및 압축(Minification)

안녕하세요. 공유민입니다. 이번 포스트는 Javascript 소스 난독화와 압축에 대해 정리해보았습니다. 압축(Minification)이란 것은 보통 자바스크립트 코딩을 할 때 가독성을 위해서 들여쓰기등 공백이 많이 들어가게 되어 있는데 이런 것을 없애고 코드의 크기를 줄여주는 것이다. 난독화(Obfuscation)라는 것도 있는데 이것은 변수나 함수명을 이상하게 바꾸어서 코드를 읽기 어렵게 만든다. JSMIN JSON을 창시한 더글라스 크록포드(Douglas Crockford)가 만든 JavaScript Minifier이다. 위 링크에서 실행파일을 다운로드 받고 커맨드로 실행시키면 된다. $ jsmin 생성할 파일명 "주석" $ jsmin myjavascript-min.js 주석 입력시 js파일 최상단..

개발/HTML, JS 2018.01.16

쿠키(cookie) 생성, 삭제, 확인 예제

안녕하세요. 공유민입니다. 쿠키 생성, 삭제 및 확인 예제 소스로 정리해봤습니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 // 해당 이름의 쿠키를 삭제한다. function delCookie(_name) { var expireDate = new Date(); //어제 날짜를 쿠키 소멸 날짜로 설정한다. expireDate.setDate( expireDate.getDate() - 1 ); document.cookie = _name + "= " + "; expires=" + expireDa..

개발/HTML, JS 2018.01.15

프로토콜, 도메인, 포트, 파일(페이지)명 구하기 예제

안녕하세요. 공유민입니다. 스크립트단에서 현재 접속한 페이지의 프로토콜, 도메인 ,포트, 파일명, 파라미터를 구하는 예제 코드를 준비했습니다. 123456789101112131415161718 alert("protocol : " + location.protocol); // 프로토콜 (http:, file:, ...) alert("domain : " + location.host); // 도메인(포트번호 포함) (www.blog.com:80) alert("port : " + location.port); // 포트번호 (80) alert("path : " + location.pathname.substring(1)); // '/' 이후 주소 (test/sample.html) alert("filename : " ..

개발/HTML, JS 2018.01.15

공백 사용 방지 예제 소스

안녕하세요. 공유민입니다. 1234567891011121314151617181920212223242526272829303132333435363738394041no space // 공백 사용 못 하게 function noSpaceForm(obj) { var str_space = /\s/; // 공백 체크 if(str_space.exec(obj.value)) { // 공백 체크 alert("해당 항목에는 공백을 사용할 수 없습니다.\n\n공백 제거됩니다."); obj.focus(); obj.value = obj.value.replace(' ',''); // 공백제거 return false; } } // 첫 글자 공백만 사용 못 하게 function noSpaceForm2(obj) { if(obj.value ..

개발/HTML, JS 2018.01.15

Javascript, Event Loop

Javascript의 Event loop는 call stack(콜스택)과 message queue(메시지 큐)로 이루어져 있다. Event Loop란? 콜 스택과 메시지 큐를 함께 동작하도록 하는 것. The Call Stack (추상적인 개념) 특징 - 단일 스레드 : 스레드는 CPU 사용의 기본 단위입니다. 낮은 레벨의 OS 구조는 스레드 ID, 프로그램 카운터, 레지스터 세트 및 스택으로 구성됩니다. 자바 스크립트 엔진 자체가 동안이 호출 스택은 단일 스레드가 한 번에 실행 코드의 한 조각을 허용하고있어 멀티 스레드. - 동기식 : JavaScript 호출 스택은 작업 전환 대신 작업을 완전히 완료합니다. 이벤트도 마찬가지입니다. ECMAScript 또는 WC3 사양에서는 요구 사항이 아닙니다. 하..

개발/HTML, JS 2017.06.13

window.opener 권한이 없습니다.

window.opener 권한이 없습니다. 라고 뜨면서 window.opener를 사용할 수 없을 때가 있다. 부모창에서 자식창을 호출하고 그 값들을 다른 asp페이지나 html페이지로 넘긴 후 다시 부모창에게 값을 넘기기 위해 opener를 사용할 수 없을 때가 있다. 이럴 때 document.domain값을 확인해 보면 다른걸 알 수 있다. 위와 같은 상황에 서버단에서 구동한다면 aaa.0yumin.com bbb.0yumin.com 이렇게 값이 다르다면 document.domain = "0yumin.com" 이런식으로 도메인을 맞춰주면 opener를 사용할 수 있다. 하지만 로컬 서버에서 구동할 때 localhost 와 127.0.0.1이 다르다고 인식이 될 수 있다. (내가 겪은 케이스) 이럴 때는..

개발/HTML, JS 2016.11.16

정의되지 않음 또는 null 참조인 'value' 속성을 가져올 수 없습니다.

HTML, javascript를 하다가 정의되지 않음 또는 null 참조인 'value' 속성을 가져올 수 없습니다. 와 같은 에러를 만났을 때 해결했던 방법입니다. 간단하지만...저 같은 경우 name 속성만 선언하여 사용했는데, name 속성말고 id 속성으로 사용해야 합니다. 물론 둘 다 선언하여 사용하는게 좋습니다. 혹은 태그의 name, id 속성이 다른 태그들과 겹치지 않도록 주의해야 합니다.

개발/HTML, JS 2016.11.16

&amp &lt &gt &quot &nbsp

& &(앰퍼샌드)는 AND를 뜻하며 javascript에서 AND 연산 기호로 사용되기 때문에 문자로 &를 출력하려면 & 라고 표기해야 합니다. > (왼쪽으로 열린 부등호 꺽쇠)는 HTML에서 태그의 끝 기호로 사용됩니다. 문자로 > 를 출력하려면 > 로 표기합니다. " "(쌍따옴표)는 HTML에서 속성의 값들을 묶기 위해 사용됩니다. 문자로 " 를 표현하려면 " 로 표기합니다. (공백, 스페이스 한칸)을 문자로 표현하려면 로 표기합니다. HTML에서 스페이스를 많이 눌러도 공백은 한번만 적용되는데 를 사용하면 공백을 여러번 줄 수 있습니다. 오류가 생길 수 있는 상황들 ..

개발/HTML, JS 2016.11.16