34a8fa10e78ba4d702c80a8a6b08b26ff64b9184.svn-base 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. // Flash Player Version Detection - Rev 1.5
  2. // Detect Client Browser type
  3. // Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
  4. // Modified: chna@chcode.com
  5. var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
  6. var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
  7. var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
  8. function errMaxFileSize (MaxFileSize) {
  9. alert("선택하신 파일 크기가 너무 큽니다. 최대 전송 크기는 "+MaxFileSize+" MB 입니다.");
  10. }
  11. function ControlVersion()
  12. {
  13. var version = 0;
  14. var axo;
  15. // var e;
  16. try {
  17. axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
  18. version = axo.GetVariable("$version");
  19. } catch (e) {}
  20. if (!version)
  21. {
  22. try {
  23. axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
  24. version = "WIN 6,0,21,0";
  25. axo.AllowScriptAccess = "always";
  26. version = axo.GetVariable("$version");
  27. } catch (e) {}
  28. }
  29. if (!version)
  30. {
  31. try {
  32. axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
  33. version = axo.GetVariable("$version");
  34. } catch (e) {}
  35. }
  36. if (!version)
  37. {
  38. try {
  39. axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
  40. version = "WIN 3,0,18,0";
  41. } catch (e) {}
  42. }
  43. if (!version)
  44. {
  45. try {
  46. axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
  47. version = "WIN 2,0,0,11";
  48. } catch (e) {
  49. version = -1;
  50. }
  51. }
  52. return version;
  53. }
  54. function GetSwfVer(){
  55. var flashVer = -1;
  56. if (navigator.plugins != null && navigator.plugins.length > 0) {
  57. if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
  58. var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
  59. var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
  60. var descArray = flashDescription.split(" ");
  61. var tempArrayMajor = descArray[2].split(".");
  62. var versionMajor = tempArrayMajor[0];
  63. var versionMinor = tempArrayMajor[1];
  64. if ( descArray[3] != "" ) {
  65. tempArrayMinor = descArray[3].split("r");
  66. } else {
  67. tempArrayMinor = descArray[4].split("r");
  68. }
  69. var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
  70. flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
  71. }
  72. }
  73. else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
  74. else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
  75. else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
  76. else if ( isIE && isWin && !isOpera ) {
  77. flashVer = ControlVersion();
  78. }
  79. return flashVer;
  80. }
  81. function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
  82. {
  83. versionStr = GetSwfVer();
  84. if (versionStr == -1 ) {
  85. return false;
  86. } else if (versionStr != 0) {
  87. if(isIE && isWin && !isOpera) {
  88. tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"]
  89. tempString = tempArray[1]; // "2,0,0,11"
  90. versionArray = tempString.split(","); // ['2', '0', '0', '11']
  91. } else {
  92. versionArray = versionStr.split(".");
  93. }
  94. var versionMajor = versionArray[0];
  95. var versionMinor = versionArray[1];
  96. var versionRevision = versionArray[2];
  97. if (versionMajor > parseFloat(reqMajorVer)) {
  98. return true;
  99. }
  100. else if (versionMajor == parseFloat(reqMajorVer)) {
  101. if (versionMinor > parseFloat(reqMinorVer))
  102. return true;
  103. else if (versionMinor == parseFloat(reqMinorVer)) {
  104. if (versionRevision >= parseFloat(reqRevision))
  105. return true;
  106. }
  107. }
  108. return false;
  109. }
  110. }
  111. function AC_AddExtension(src, ext)
  112. {
  113. if (src.indexOf('?') != -1)
  114. return src.replace(/\?/, ext+'?');
  115. else
  116. return src + ext;
  117. }
  118. function AC_Generateobj(objAttrs, params, embedAttrs)
  119. {
  120. var str = '';
  121. if (isIE && isWin && !isOpera)
  122. {
  123. str += '<object ';
  124. for (var i in objAttrs)
  125. str += i + '="' + objAttrs[i] + '" ';
  126. var breakpoint=true;
  127. for (var i in params) {
  128. if (breakpoint) str += '>';
  129. str += '<param name="' + i + '" value="' + params[i] + '" />';
  130. breakpoint = false;
  131. }
  132. str += '</object>';
  133. } else {
  134. str += '<embed ';
  135. for (var i in embedAttrs)
  136. str += i + '="' + embedAttrs[i] + '" ';
  137. str += '> </embed>';
  138. }
  139. document.getElementById('oFlash').innerHTML = str;
  140. }
  141. function chxupload_RUN() {
  142. var ret =
  143. AC_GetArgs
  144. ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
  145. , "application/x-shockwave-flash"
  146. );
  147. AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
  148. }
  149. function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  150. var ret = new Object();
  151. ret.embedAttrs = new Object();
  152. ret.params = new Object();
  153. ret.objAttrs = new Object();
  154. for (var i=0; i < args.length; i=i+2){
  155. var currArg = args[i].toLowerCase();
  156. switch (currArg){
  157. case "classid":
  158. break;
  159. case "pluginspage":
  160. ret.embedAttrs[args[i]] = args[i+1];
  161. break;
  162. case "src":
  163. case "movie":
  164. args[i+1] = AC_AddExtension(args[i+1], ext);
  165. ret.embedAttrs["src"] = args[i+1];
  166. ret.params[srcParamName] = args[i+1];
  167. break;
  168. case "onafterupdate":
  169. case "onbeforeupdate":
  170. case "onblur":
  171. case "oncellchange":
  172. case "onclick":
  173. case "ondblClick":
  174. case "ondrag":
  175. case "ondragend":
  176. case "ondragenter":
  177. case "ondragleave":
  178. case "ondragover":
  179. case "ondrop":
  180. case "onfinish":
  181. case "onfocus":
  182. case "onhelp":
  183. case "onmousedown":
  184. case "onmouseup":
  185. case "onmouseover":
  186. case "onmousemove":
  187. case "onmouseout":
  188. case "onkeypress":
  189. case "onkeydown":
  190. case "onkeyup":
  191. case "onload":
  192. case "onlosecapture":
  193. case "onpropertychange":
  194. case "onreadystatechange":
  195. case "onrowsdelete":
  196. case "onrowenter":
  197. case "onrowexit":
  198. case "onrowsinserted":
  199. case "onstart":
  200. case "onscroll":
  201. case "onbeforeeditfocus":
  202. case "onactivate":
  203. case "onbeforedeactivate":
  204. case "ondeactivate":
  205. case "type":
  206. case "codebase":
  207. case "id":
  208. ret.objAttrs[args[i]] = args[i+1];
  209. break;
  210. case "width":
  211. case "height":
  212. case "align":
  213. case "vspace":
  214. case "hspace":
  215. case "class":
  216. case "title":
  217. case "accesskey":
  218. case "name":
  219. case "tabindex":
  220. ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
  221. break;
  222. default:
  223. ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
  224. }
  225. }
  226. ret.objAttrs["classid"] = classid;
  227. if (mimeType) ret.embedAttrs["type"] = mimeType;
  228. return ret;
  229. }