gustavod 0 Denunciar post Postado Novembro 13, 2010 Olá pessoal, estou com um problema em um arquivo flash AS2 alimentado por XML. É um menu vertical que não consigo fazer com que as seções abram na mesma janela "_self". Tentei várias coisas, inclusive getURL, mas mesmo assim ele continua abrindo as seções do menu em nova janela. ALGUÉM PODE ME AJUDAR? AGRADEÇO MUITO. QUEBREI A CABEÇA O DIA TODO E AINDA NÃO SAÍ DO LUGAR. OBRIGADO. Aí vai um parte do código AS. O restante é inclusão de outras variáveis. var accordion = this var itemList = [] var xmlSource:XML = new XML xmlSource.onload = function(success:Boolean):Void { if (success) { xmlRoot = xmlSource.firstChild xmlItems = xmlRoot.childNodes total = xmlItems.length for (i=0; i<total; i++){ accordion.attachMovie("item", "item" + i, i) itemList[i] = accordion["item"+i] itemList[i].xmlRoot = xmlItems[i] itemList[i].separation = separation itemList[i].tabulation = tabulation itemList[i].subItemAutoClose = subItemAutoClose itemList[i].itemHeight = itemHeight itemList[i].itemWidth = itemWidth itemList[i].light = light itemList[i].buttonColor = buttonColor itemList[i].rollOverColor = rollOverColor itemList[i].arrowColor = arrowColor itemList[i].rollOverArrowColor = rollOverArrowColor itemList[i].TextColor = TextColor itemList[i].rollOverText = rollOverText itemList[i].openEase = openEase itemList[i].closeEase = closeEase itemList[i].rollOutFade = rollOutFade itemList[i].openAll = openAll } } } xmlSource.ignoreWhite = true; xmlSource.load("accordion.xml"); this.onEnterFrame=function(){ for (i=1; i<total; i++){ itemList[i]._y = itemList[i-1]._y + itemList[i-1].mask._height + itemList[i-1].button._height + separation } cursor._x = _xmouse cursor._y = _ymouse } onmousedown = function (){ for (i=0; i<total; i++){ if (itemList[i].button.hitTest(cursor)){ showCurrent(itemList[i]) } } } showCurrent=function(current){ for (i=0; i<total; i++){ if (itemList[i]!=current){ if (autoClose){ itemList[i].openBox=false itemList[i].over = false } } else { if (total>0){ if (itemList[i].openBox){ itemList[i].openBox=false } else { itemList[i].openBox=true } } else { getURL(xmlRoot.attributes.url, _self); } } } } E aí vai o código XML <?xml version="1.0" encoding="UTF-8" ?> <accodion> <item name="HOME" url="http://www.google.com/" target="_self"> </item> </accodion> Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 15, 2010 Primeiramente a propriedade correta é "_self" e não _self Depois, alguns browsers não permitem que você faça isso com o flash... algum bug, as vezes da certo as vezes não. Para corrigir isso você pode alterar as propriedades do object que carrega o flash no HTML. Sugiro, para não ter esse problema utilizar o SWFObject, que ai ele já configura certinho para você. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
gustavod 0 Denunciar post Postado Novembro 15, 2010 Oi Thiago, obrigado pela resposta. Passei a usar o SWFObject para carregar o menu flash, mas mesmo assim continua abrindo em nova janela. Será que tenho que colocar algum parâmetro no código abaixo? Ou a solução é no ActionScript mesmo? <p id="banner"> <param name="wmode" value="transparent"> <script type="text/javascript"> var so = new SWFObject('accordion4.swf', 'DEMO', '245', '450', '9', '#ffffff'); so.addParam('menu', 'false'); so.addParam('quality', 'high'); so.addParam('wmode', 'transparent'); so.write('banner'); </script> </p> Abraços Compartilhar este post Link para o post Compartilhar em outros sites