Flash와 같은 ActiveX 활성화 특허침해 익스플로러 패치에 대한 코딩방법
MS 가 말하는 코딩방법 : js로 따로 파일을 만들어 연결하라고 말하고 있다.
document.writeln('<script>');
document.write('document.writeln('');
document.write('<object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" width="100" height="100"></object>');
document.write('');');
document.writeln('</script>');
효율적이지 못하다.
개발자의 단순작업을 최소한으로 줄일수 있도록 몇줄만 추가하는 방법을 찾아보았다.
1: <object... 또는 <embed... 의 시작과 끝을 textarea 로 묶어주는 방법
<textarea id=object1 style="display:none;" rows="0" cols="0">
<object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" width="100" height="100"></object>
</textarea>
<script language="javascript" src="./activex_patch.asp?id=object1"></script> showstatusbar="1">
ASP일 경우
activex_patch.asp 의 내용은 단 한줄 :
document.write(document.getElementById('<%=request.querystring("id")%>').value);
php 일 경우
activex_patch.php 의 내용은 단 한줄
document.write(document.getElementById('<?=$id?>').value);
비고: 어떠한 object type 이든 모두 적용이 가능하다.
object1와 activex_patch.asp?id=object1 이 부분을 맞게 등록해주어야 한다.
새롭게 만들시에는 효과적을 줄 모르나 어짜피 id를 맞추어 주어야 함으로 기존 페이지에 다량의
오브젝트가 있을 경우 반복적으로 적용해줘야함.
2: MS가 말한대로 필요하되 js에 함수를 만들어 적용하는 방법
activex_patch.js 에 아래 항목을 등록록 적당한 곳에 올린다.
function swf(src,width,height){
object = '';
object += '<object type="application/x-shockwave-flash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="param" width="'+width+'" height="'+height+'">';
object += '<param name="movie" value="'+src+'">';
object += '<embed src="'+src+'" quality="high" wmode="transparent" bgcolor="#ffffff" menu="false" width="'+width+'" height="'+height+'" swliveconnect="true" id="param" name="param" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"><\/embed>';
object += '<\/object>';
document.write(object);
}
기존 오브젝트를 포함한 페이지 아래 항목을 추가
<script language="javascript" src="activex_patch.js"></script>
오브젝트를 사용하는 코드를 아래처럼 바꾼다.
<script>swf('./images/top_menu.swf',660,64);</script>
비고: 위의 방법과 같이 id를 매칭하는게 아니라 js 함수만을 맞추어 주면된다.
object type 이 다를경우 여러 함수를 만들어 줘야 된다.
Flash와 같은 ActiveX 활성화 특허침해 익스플로러 패치에 대한 코딩방법






