Monday, July 16, 2007

Flash Etkinleştirme Sorununun Çözümü

Sorun aslında bir kaç javascript kodu ile çözülebiliyor ama bazılarıda sonuç vermiyordu. Bunun üzerine Adobe firmasının ürettiği Dreamweaver yardımımıza koştu. Dreamweaver'ın 8.0.2 versiyonuna terfi edenler için şuan sorun yok çünkü sayfanıza herhangi bir flash eklediğinizde dreamweaver aşağıdaki kodları sizin için yaratacaktır. umarım yardımcı olur.



flashetkin.js

//v1.0

//Copyright 2006 Adobe Systems, Inc. All rights reserved.

function AC_AddExtension(src, ext)

{

if (src.indexOf('?') != -1)

return src.replace(/\?/, ext+'?');

else

return src + ext;

}



function AC_Generateobj(objAttrs, params, embedAttrs)

{

var str = '<object ';

for (var i in objAttrs)

str += i + '="' + objAttrs[i] + '" ';

str += '>';

for (var i in params)

str += '<param name="' + i + '" value="' + params[i] + '" /> ';

str += '<embed ';

for (var i in embedAttrs)

str += i + '="' + embedAttrs[i] + '" ';

str += ' ></embed></object>';



document.write(str);

}



function AC_FL_RunContent(){

var ret =

AC_GetArgs

( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"

, "application/x-shockwave-flash"

);

AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);

}



function AC_SW_RunContent(){

var ret =

AC_GetArgs

( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"

, null

);

AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);

}



function AC_GetArgs(args, ext, srcParamName, classid, mimeType){

var ret = new Object();

ret.embedAttrs = new Object();

ret.params = new Object();

ret.objAttrs = new Object();

for (var i=0; i < args.length; i=i+2){

var currArg = args[i].toLowerCase();



switch (currArg){

case "classid":

break;

case "pluginspage":

ret.embedAttrs[args[i]] = args[i+1];

break;

case "src":

case "movie":

args[i+1] = AC_AddExtension(args[i+1], ext);

ret.embedAttrs["src"] = args[i+1];

ret.params[srcParamName] = args[i+1];

break;

case "onafterupdate":

case "onbeforeupdate":

case "onblur":

case "oncellchange":

case "onclick":

case "ondblClick":

case "ondrag":

case "ondragend":

case "ondragenter":

case "ondragleave":

case "ondragover":

case "ondrop":

case "onfinish":

case "onfocus":

case "onhelp":

case "onmousedown":

case "onmouseup":

case "onmouseover":

case "onmousemove":

case "onmouseout":

case "onkeypress":

case "onkeydown":

case "onkeyup":

case "onload":

case "onlosecapture":

case "onpropertychange":

case "onreadystatechange":

case "onrowsdelete":

case "onrowenter":

case "onrowexit":

case "onrowsinserted":

case "onstart":

case "onscroll":

case "onbeforeeditfocus":

case "onactivate":

case "onbeforedeactivate":

case "ondeactivate":

case "type":

case "codebase":

ret.objAttrs[args[i]] = args[i+1];

break;

case "width":

case "height":

case "align":

case "vspace":

case "hspace":

case "class":

case "title":

case "accesskey":

case "name":

case "id":

case "tabindex":

ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];

break;

default:

ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];

}

}

ret.objAttrs["classid"] = classid;

if (mimeType) ret.embedAttrs["type"] = mimeType;

return ret;

}




<head></head> arasına gelecek kod:


<script src="flashetkin.js" type="text/javascript"></script>



Sayfaya ekleyeceğiniz flash kodu:


<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','600','height','650','title','Portföy','src','deneme','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','deneme' ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="600" height="650" title="Portföy">
<param name="movie" value="deneme.swf">
<param name="quality" value="high">
<embed src="deneme.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="600" height="650"></embed>
</object></noscript>







1) Son kodda yer alan deneme.swf yazan yerlere kendi flash çalışmanızın ismini yazmalısınız.



Kolay Gelsin.

Smasherz



No comments: