비슷합니다.
앞서 소개한 <textarea>로 감싸는 방법 대신 자바스크립트의 인자로 감싸는것입니다.

========= embed_patch2.js =========

function ObjectEmbed(str){
    document.write(str);
}


위 내용을 홈피의 기본디렉토리(/) 같은곳에 embed_patch2.js 라는 이름으로 한번만 만들어 놓으시고...

========= embed포함.htm =========
<head>
<script language="JavaScript" type="text/JavaScript" src="/embed_patch2.js"></script>
</head>
<body>
~~~~
~~~~
<script>
ObjectEmbed('
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ~~...>
<param name="movie" value="/images/symbol.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#ffffff">
<embed src="/images/symbol.swf" ~~..." />
</object>')
</script>
~~~~
~~~~
<script>ObjectEmbed('<embed src="/music/background.mp3" ~~..." >')</script>
~~~~
~~~~
</body>

보다시피 embed 나 object 부분을 외부(/)에 있는 ObjectEmbed()에게 인자로 주고,
그 함수로 하여금받은 내용을 다시 현 위치에 뿌리게 해주는 역시 눈가리고 아옹~하는 꽁수입니다.

단점은 ObjectEmbed('  ')안의 기존 스크립트부분을 엔터 없이 한줄로 이어서 써야 한다는 점입니다.
위 예제에서는 줄바꿈 대신 라인의 끝에 "" 문자를 넣었습니다.
""문자는 소스의 줄바꿈을 무효화 시킵니다.

인자 부분을 한줄에 다 쓰지 않은 경우에는 그 홈페이지를 열었을 때
"종결되지 않은 문자열입니다" 라는 자바스크립트 에러를 발생시키게 됩니다.

- 아이디어 제공 : PHPSCHOOL.COM 냐하하하 님 -
----------------
<script language="JavaScript" type="text/JavaScript" src="/embed_patch2.js"></script>
위 라인을 반드시 <head>안에 넣어야할 필요는 없습니다.
<body>안에라도 첫번째 멀티미디어가 나오는 줄 보다 윗부분에 한번만 넣어주면 됩니다.

© juroweb 2003-2014. All rights reserved
log in