ActionScript
어도비... 너 왜 그러냐
미나토
2007. 12. 13. 10:32
http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html
갑자기 일언반구도 없이 javascript 를 막아버리면 어쩌라고... 기존에 만들었던 수많은 놈들을 어떻게 다 수정하라고...
이런 우라질 녀석들...
다음은 3.0에서도 2.0 getURL 처럼 쓸 수 있도록 해놓은 녀석... 좀더 생각하면 더 나이스하게 만들 수도 있겠지만...
일단 잘 돌아가면 돼....
갑자기 일언반구도 없이 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);
}
}
}
}
}
{
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);
}
}
}
}
}