반응형
가끔 일을 하다보면 HTML내에서 또 HTML파일을 생성해달라고 하는 (HTML파일 제작툴?) 요청사항이 올 때가 있습니다.
그런 경우에 zxml이라는 라이브러리를 이용해서 구현이 가능합니다.
다운로드 : http://www.nczonline.net/downloads/
압축파일로 되어 있고, 압축을 풀면, sample 소스 등이 나오는데,
실제로 우리가 필요한 건 zxml.js 파일 하나 뿐입니다.
DOM방식으로 구현을 해야되서, 소스가 지저분해질 수 밖에 없더군요.
(다른 좋은 방법이 있으면 소개좀.. ㅠㅠ)
간단하게 예제코드를 통해 작성법을 소개하도록 하겠습니다.
아래 html 코드를 zxml을 통해 만들어 보도록 하겠습니다.
<head> <title>test</title> <meta http-equiv="Cache-Control" content="no-cache" /> </head>
// document 생성 var oXmlDom = zXmlDom.createDocument(); // var htmlContainer = oXmlDom.createElement("html"); // <head> </head> var headContainer = oXmlDom.createElement("head"); // <title>test</title> var titleContainer = oXmlDom.createElement("title"); // 태그 사이에 값을 넣어주는 역할 titleContainer.appendChild(oXmlDom.createTextNode("test")); // <meta /> var metaContainer = oXmlDom.createElement("meta"); // <meta http-equiv= /> : 속성 추가 var attHttpEquiv = oXmlDom.createAttribute("http-equiv"); // 추가된 속성에 값 추가 <meta http-equiv="Cache-Control" /> attHttpEquiv.value = "Cache-Control"; // meta태그에 위 속성 적용 metaContainer.attributes.setNamedItem(attHttpEquiv); // <meta http-equiv="Cache-Control" content="no-cache" /> 위와 동일 var attContent = oXmlDom.createAttribute("content"); attContent.value = "no-cache"; metaContainer.attributes.setNamedItem(attContent); // <head> 안에 title과 meta를 추가 headContainer.appendChild(titleContainer); headContainer.appendChild(metaContainer); // 안에 head 추가 htmlContainer.appendChild(headContainer); // document에 html 추가 oXmlDom.appendChild(htmlContainer); // 리턴 return oXmlDom.xml;
반응형
'개발 > Front-End' 카테고리의 다른 글
[Jquery] $.ajax 사용 시 success callback에서 this 객체 사용하기 (0) | 2016.06.10 |
---|---|
[CSS] 텍스트 말줄임 (0) | 2016.06.10 |
[HTML] favicon 추가 (0) | 2016.06.10 |
[JavaScript] byte formatter (0) | 2016.06.10 |
[Jquery] Ajax Fileupload Option (0) | 2016.06.10 |