Связываю 2 флешки на html-странице по средствам javascript. 1) left.swf:
| Код | import flash.external.*; System.useCodepage = true; var flag:Number = 0; var i:Number = 0; _root.onEnterFrame = function() { if (flag == 1) { menu._y = menu._y+2; sh1._rotation = i; sh2._rotation = -i; i = i+2; if (menu._y>=0) { flag = 0; } } }; function ToJS(a:Number) { flag = a; } var method:Function = ToJS; var wasSuccessful:Boolean = ExternalInterface.addCallback('FromAS', null, method);
|
2) right.swf:
| Код | import flash.external.*; System.useCodepage = true; var i:Number = 300; _root.onEnterFrame = function() { if ((i>0) and (i<=100)) { _root._alpha = i; i--; } else if (i==0) { var g = String(ExternalInterface.call("SetToJavaScript", "1")); i=-1; } if (i>100) { i--; } };
|
И следующий код у меня в html:
| Код | <script language="JavaScript"> function SetToJavaScript(a){ if (a=1) { if (document.getElementById) { // DOM3 = IE5, NS6 document.getElementById('Light').style.display = 'none'; } else { if (document.layers) { // Netscape 4 document.Light.display = 'none'; } else { // IE 4 document.all.Light.display = 'none'; } } thisMovie("Left_pan").FromAS("1"); // здесь Left_pan это <object id="Left_pan"... и <embed name="Left_pan"
}; return null; } function thisMovie(movieName) { if (navigator.appName.indexOf("Microsoft") != -1) { return window[movieName] } else { return document[movieName] } }
|
при выполнении строки thisMovie("Left_pan").FromAS("1"); в javascript Mozilla тупо вылетает без объяснений причин. В IE все превосходно работает. Люди помогите разобраться. |