2008. 4. 18. 11:04
플래시파일을 삽입할때 자바스크립트 함수로 사용하는 경우가 많다.(이올라스 패치 또는 사용성 때문에..)
그런데, form 태그안에 플래시가 삽입되어 있을경우, ExternalInterface 가 동작하지 않는다.
어떤 문제인지 정확히 알 수는 없으나, 출처 글을 보게 되면, IE6이나 IE7에서만 있는 문제인듯.ㅡ,ㅡ
2009년 프로젝트 진행 시 이 문제 때문에 애 먹었던 거 생각하면.쩝..
(특히 플래시 플레이어 9.0.45에서 에러가 발생, 플레이어 버젼별 테스트 다 했음..)
위와 같이 하면 해결이 되었던 걸로 기억한다..
p.s.좋은 정보를 공유해주신 알쯔님 감사합니다..
출처 : http://blog.arzz.com/301
그런데, form 태그안에 플래시가 삽입되어 있을경우, ExternalInterface 가 동작하지 않는다.
어떤 문제인지 정확히 알 수는 없으나, 출처 글을 보게 되면, IE6이나 IE7에서만 있는 문제인듯.ㅡ,ㅡ
2009년 프로젝트 진행 시 이 문제 때문에 애 먹었던 거 생각하면.쩝..
(특히 플래시 플레이어 9.0.45에서 에러가 발생, 플레이어 버젼별 테스트 다 했음..)
function GetEmbed(url,id,width,height,vars) {
if (isIE) {
var txt = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+width+'" height="'+height+'" id="'+id+'" align="middle">';
txt+= '<param name="allowScriptAccess" value="always" />';
txt+= '<param name="flashVars" value="'+vars+'" />';
txt+= '<param name="movie" value="'+url+'" />';
txt+= '<param name="quality" value="high" />';
txt+= '<param name="wmode" value="transparent" />';
txt+= '<embed src="'+url+'" quality="high" wmode="transparent" style="width:'+width+'px; height:'+height+'px;" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashVars="'+vars+'"></embed>';
txt+= '</object>';
document.write(txt);
eval("window." + id + " = document.getElementById('" + id + "');");
} else {
txt = '<embed id="'+id+'" src="'+url+'" quality="high" wmode="transparent" style="width:'+width+'px; height:'+height+'px;" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashVars="'+vars+'"></embed>';
document.write(txt);
}
}
if (isIE) {
var txt = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+width+'" height="'+height+'" id="'+id+'" align="middle">';
txt+= '<param name="allowScriptAccess" value="always" />';
txt+= '<param name="flashVars" value="'+vars+'" />';
txt+= '<param name="movie" value="'+url+'" />';
txt+= '<param name="quality" value="high" />';
txt+= '<param name="wmode" value="transparent" />';
txt+= '<embed src="'+url+'" quality="high" wmode="transparent" style="width:'+width+'px; height:'+height+'px;" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashVars="'+vars+'"></embed>';
txt+= '</object>';
document.write(txt);
eval("window." + id + " = document.getElementById('" + id + "');");
} else {
txt = '<embed id="'+id+'" src="'+url+'" quality="high" wmode="transparent" style="width:'+width+'px; height:'+height+'px;" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashVars="'+vars+'"></embed>';
document.write(txt);
}
}
위와 같이 하면 해결이 되었던 걸로 기억한다..
p.s.좋은 정보를 공유해주신 알쯔님 감사합니다..
출처 : http://blog.arzz.com/301