Where The Streets Have No Name

양키가 만든 IE 패치 (수정없이 상단에 넣기 버전) 본문

Developement/Web

양키가 만든 IE 패치 (수정없이 상단에 넣기 버전)

highheat 2006. 5. 3. 23:49
사용법
1. 맨 아래의 소스를 activateActiveX_onload.js로 저장한다.
2. 출처 : 아래에 있음.
3. 사용법 : 예제파일

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<script language="JScript" type="text/jscript" src="activateActiveX_onload.js"></script>
</head>
<body>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="300" height="120">
<param name=movie value="플래시.swf">
<param name=quality value=high>
<embed src="플래시.swf" quality=high pluginspage="http://www.macromedia.com/jp/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="300" height="120">
</embed>
</object>

</body>
</html>


4. 사용후기 : 잘됨.

----------------------------- 소스 ↓ (activateActiveX_onload.js) ---------------------------------

/*
activateActiveX
---------------
Purpose:  Dynamically replace any elements that will be affected by the new security feature in IE6/IE7 that requires a user to click certain types of elements to activate them before use.

Usage:  Include this file in the <head></head> section of your html document using the following...
   <script language="JScript" type="text/jscript" src="activateActiveX_onload.js"></script>


Since this script is in response to a software patent lawsuit, I feel it necessary to state the following...    

License:
activateActiveX is Copyright (C) 2006 Jason Baker (therippa AT gmail.com). It is available as open source code from:
http://therippa.blogspot.com

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details http://www.gnu.org/licenses/gpl.html
*/

//trap onload event
window.onload = function () {
   //Determine browser, we only need this for Internet Explorer
   if (navigator.appName == "Microsoft Internet Explorer") {
       
       //Array of elements to be replaced
       var arrElements = new Array(3);
       arrElements[0] = "object";
       arrElements[1] = "embed";
       arrElements[2] = "applet";
   
       
       //Loop over element types
       for (n = 0; n < arrElements.length; n++) {
       
           //set object for brevity
           replaceObj = document.getElementsByTagName(arrElements[n]);
           
           //loop over element objects returned
           for (i = 0; i < replaceObj.length; i++ ) {
           
               //set parent object for brevity
               parentObj = replaceObj[i].parentNode;
               
               //grab the html inside of the element before removing it from the DOM
               newHTML = parentObj.innerHTML;
               
               //remove element from the DOM
               parentObj.removeChild(replaceObj[i]);
               
               //stick the element right back in, but as a new object
               parentObj.innerHTML = newHTML;
           
               }
           }
       }
   }