1. 이 글에 첨부된 patch.zip 파일을 다운로드하여 patch.js 파일을 원하는 곳에 저장한다.

2. 패치를 적용할 웹 문서나 웹 어플리케이션의 소스를 연다.

3. 문서의 <HEAD> ~ </HEAD> 섹션 안에 다음과 같이 반영될 수 있도록 편집한다. 보통의 HTML 문서로 말할 것 같으면 다음과 같다고 할 수 있다.

[CODE]
...
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<title>제목 없음</title>
<script src="patch.js" language="javascript"></script>
</head>
...
[/CODE]

4. patch.js에는 docWrite 함수 하나만 들어있으며 단지 document.write를 대신 써주는 일 뿐이다. 하지만 이 HTML 페이지에서 직접 document.write를 호출하는 것과는 차이가 있다.

5. 이제 ActiveX 컨트롤이 삽입된 곳으로 가서 <OBJECT> ~ </OBJECT> 섹션의 내용을 모두 복사한다.

6. docWrite 함수를 호출하되 문자열 인수를 넘겨주면된다. 그러나 다음의 사항을 지킬 필요가 있다.

6-1. 편의상 문자열 인수의 시작과 끝을 작은 따옴표로 할 것을 권장한다. Well-Formed XHTML Document의 경우 모든 Property를 쌍 따옴표로 열고 닫는 관습이 있는데 여기에 일일이 Escape Sequence 처리를 하는것은 비효율적이기 때문이다.

6-2. 가독성을 위하여 String Concatenation을 사용할 것을 권장한다. 물론 한 줄로 이어서 쓰더라도 별 문제는 없겠으나 한 번만 쓰고 말 것은 아니지 않겠는가. 잘 모르는 사람들을 위해서 설명하자면 Enter키로 입력한 줄 띄우기 부분이 JavaScript 문자열에서는 자동으로 이어지는 것이 아니기 때문에 곧 이어 나올 예제와 같이 표기하는 방식을 말하는 것이다.

위의 6-1과 6-2에 따라서 내용을 표기한다면 다음과 같다.

[CODE]
<script language="javascript" type="text/javascript">
<!--
docWrite('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" namo_flashbutton width="400" height="70">' +
'<param name="movie" value="banner_02.swf">' +
'<param name="play" value="true">' +
'<param name="loop" value="true">' +
'<param name="quality" value="high">' +
'<param name="WMode" value="Window">' +
'<embed width="400" height="70" src="banner_02.swf" play="true" loop="true" quality="high" WMode="Window" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">' +
'</object>');
-->
</script>
[/CODE]

완성된 문서/스크립트는 patch.zip 파일 안에 그대로 저장되어있으니 한 번 살펴보기 바란다.


내용 출처: http://cafe.naver.com/repay.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=345
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)