scaleform.minarto.com

어도비... 너 왜 그러냐 본문

ActionScript

어도비... 너 왜 그러냐

미나토 2007. 12. 13. 10:32
http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html

갑자기 일언반구도 없이 javascript 를 막아버리면 어쩌라고... 기존에 만들었던 수많은 놈들을 어떻게 다 수정하라고...


이런 우라질 녀석들...



다음은 3.0에서도 2.0 getURL 처럼 쓸 수 있도록 해놓은 녀석... 좀더 생각하면 더 나이스하게 만들 수도 있겠지만...
일단 잘 돌아가면 돼....

package com.minarto.utils
{
    import flash.net.*;
    import flash.external.ExternalInterface;
    public class MinartoGetURL
    {
        public function MinartoGetURL(){}
       
        public static function getURL(_url:String, window:String=null):void
        {
            trace(_url);
            if(Boolean(_url))
            {
                if(_url.toLowerCase().indexOf("javascript") >= 0)
                {
                    var jFunction:String = _url.split(":")[1].split("(")[0];
                   
                    var jParam_array:Array = _url.split(":")[1].split("(")[1].split(")")[0].split(",");
                    var cnt:uint = jParam_array.length;
                    for(var i:uint=0; i<cnt; i++)
                    {
                        jParam_array[i] = jParam_array[i].split("'").join("");
                    }
               
                    ExternalInterface.call(jFunction, jParam_array[0], jParam_array[1], jParam_array[2], jParam_array[3], jParam_array[4], jParam_array[5], jParam_array[6], jParam_array[7], jParam_array[8], jParam_array[9]);
                }
                else
                {
                    navigateToURL(new URLRequest(_url), window);
                }
            }
        }
    }
}