¿Cómo abrir un enlace flash en ventana nueva?

Mi problema es que baje un template de flash y lo tengo todo personalizado a excepción de un botton que cree nuevo en el menu y querría que el enlace se abriera en una ventana nueva del explorador y la verdad he probado mil maneras y se sigue abriendo en la misma ventana :( si alguien me puede ayudar please.
Adjunto el código completo del menu.. Por si alguien me lo puede modificar con el correcto(es el botón de menu de información) gracias por adelantado :)
fm_button.visible = false;
var menu_label:Array = new Array("  Eventos", "  proyectos", "  material",
         "  organizacion", "  amigos", "  Contactar", "informacion|http://turincon.blogspot.com");
var total:Number = menu_label.length;
var i:Number = 0;
var page:Number;
var main_menu:MovieClip = new MovieClip();
stage.addChild(main_menu);
for( i = 0; i < total; i++ )
{
 var btn = new flashmo_button();
 btn.name = "btn" + i;
 btn.x = fm_button.x;
 btn.y = fm_button.y + 80 * i;
 btn.item_no = i;
 btn.addEventListener( Event.ENTER_FRAME, btn_enter );
 var each_substring:Array = menu_label.split("|"); 
 btn.flashmo_button_label.fm_label.text = each_substring[0];
 btn.flashmo_button_number.fm_number.text = "GHM" + ( i + 1 );
 btn.item_url = each_substring[1];
 main_menu.addChild(btn);
}
function btn_over(e:MouseEvent):void
{
 e.target.over = true;
}
function btn_out(e:MouseEvent):void
{
 e.target.over = false;
}
function btn_click(e:MouseEvent):void
{
 var mc = e.target.parent;
 if( mc.item_url != undefined ) 
  navigateToURL( new URLRequest( mc.item_url ), "_parent" );
 else 
  change_page(mc.item_no);
}
function btn_enter(e:Event):void
{
 var mc = e.target;
 if( mc.over == true )
  mc.nextFrame();
 else
  mc.prevFrame();
}
function change_page(no:Number):void
{
 for( var i:Number = 0; i < main_menu.numChildren; i++ )
 {
  var mc = MovieClip( main_menu.getChildAt(i) );
  mc.over = false;
  mc.flashmo_click_area.visible = true;
  mc.addEventListener( MouseEvent.ROLL_OVER, btn_over );
  mc.addEventListener( MouseEvent.ROLL_OUT, btn_out );
  mc.addEventListener( MouseEvent.CLICK, btn_click );
 }
 var mc_selected = MovieClip( main_menu.getChildAt(no) );
  mc_selected.over = true;
  mc_selected.flashmo_click_area.visible = false;
  mc_selected.removeEventListener( MouseEvent.ROLL_OVER, btn_over );
  mc_selected.removeEventListener( MouseEvent.ROLL_OUT, btn_out );
  mc_selected.removeEventListener( MouseEvent.CLICK, btn_click );
 page = no + 1;
 play();
}

2 Respuestas

Respuesta
1
Prueba arreglar estas 2 cosas:
1 - a linea donde defines url:
var menu_label:Array = new Array("  Eventos", "  proyectos", "  material",
         "  organizacion", "  amigos", "  Contactar", "informacion|http://turincon.blogspot.com");
2 - la linea donde esta el comando para abrir url:
navigateToURL( btn.item_url, "_blank" );
Eso parece estar AS3, así que mejor te ayudaría en AS2
Prueba esto también:
navigateToURL(new URLRequest("http://turincon.blogspot.com/"), "_blank");
Hola de nuevo amigo sigo conectado, para ver si podemos solucionarlo
Efectivamente esta en actionScript 3 modelado, y ninguna de las opciones que me dijiste me funciona... sige abriéndose en la misma ventana, desapareciendo el index :(
Te dejo la web para que lo veas tu mismo www.goldhousemusic.tk (opción descarga mp3)q es donde me gustaría q me abriera nueva ventana al el blog q empiezo a diseñar.
donde defino url ya lo tenia asi definido ,
var menu_label:Array = new Array("  Eventos", "  proyectos", "  material",
         "  organizacion", "  amigos", "  Contactar", "descarga mp3|http://turincon.blogspot.com");
he variado por separado:
1-navigateToURL( btn.item_url, "_blank" );
2-navigateToURL(new URLRequest("http://turincon.blogspot.com/"), "_blank");
3-navigateToURL( new URLRequest( mc.item_url ), "_blank" );
Y nada :(
Ahora mismo puedes ver la web, con la opcion2 activada... no se q más puedo hacer,..¿es muy extraño q no lo consiga, trabajo con flash cs4 .. se te ocurre algo más ¿
Estado probando... todos los posibles enlaces de la web incluso los archivos XML que se abren dentro de la misma página y todos me abren dentro de esta ventana.. te da alguna pistaesto de por donde van los tiros amigo ¿
¿Y al exportar el swf no te da ningún error en la ventana de salida?
Bingo" ahí estaba el error ... eres un crack... xD
MUCHAS GRACIAS por tu ayuda.. la verdad que tengo otra pregunta.. pero te voy a cerrar esta como toca y te abro otra ;)
He encontrado 2 cosas relacionadas con tu problema, lea estos 2 enlaces:
http://help.adobe.com/en_US/AIR/1.5/jslr/flash/net/package.html
http://www.adobetutorialz.com/articles/1791/1/allowScriptAccess-Default
prueba entonces anadir en el html donde esta embebido el swf esta frase:
allowScriptAccess="sameDomain"
o esta
allowScriptAccess="always"
Respuesta
1
Espero poder ayudarte. Por lo que entendí, desde tu animación quieres abrir un enlace en una página nueva.
Fíjate esto:
{
 var mc = e.target.parent;
 if( mc.item_url != undefined ) 
  navigateToURL( new URLRequest( mc.item_url ), "_parent" );
 else 
  change_page(mc.item_no);
}
Intenta cambiar _parent   por  _blank
Cualquier cosa me puedes volver a consultar y lo volvemos a ver, ojala esto pueda solucionar tu problema.

Besos
Antes de nada gracias por molestarte en contestar, y si efectivamente lo que quiero es desde un template flash, en su menu que una de las opciones no me habrá site en misma página sino en una ventana nueva, manteniendo la index, por el sonido y demás.
No funciono lo que me dijiste, de hecho también lo probé detrás de la url que quería desviar, pensando que los tiros iban como cuando editas html, y conjuntamente cambiando la 2 opciones.. pero nada :(
tal q asi..
var menu_label:Array = new Array("  Eventos", "  proyectos", "  material",
         "  organizacion", "  amigos", "  Contactar", "informacion|http://turincon.blogspot.com| _blank");
Alguien me puede ayudar por favor.. estaría muy agradecido.. esta web la visitara mucha gente .saludos
"  organizacion", "  amigos", "  Contactar", "informacion|http://turincon.blogspot.com_blank");
Esa sintaxis no va a funcionarte. Este es mi mail: [email protected]
Si quieres enviame el archivo que lo veo y pruebo en mi pc.
A la sintaxis que me refería es la siguiente:
{
 var mc = e.target.parent;
 if( mc.item_url != undefined ) 
  navigateToURL( new URLRequest( mc.item_url ), "_parent" );
 else 
  change_page(mc.item_no);
}
Intenta cambiar _parent   por  _blank

Acá va un ejemplo práctico de lo que me refiero, extraído de la web:
<-- Codigo ofrecido por Tutores.org -->

on (release) {
getURL("http://www.google.com", "_blank");
}

y en este caso es:
{
 var mc = e.target.parent;
 if( mc.item_url != undefined ) 
  navigateToURL( new URLRequest( mc.item_url ), "_parent" );
 else 
  change_page(mc.item_no);
}
_parent carga en la misma página
_blank es una pagina nueva
.............................................................
Por lo cual prueba lo siguiente:
{
 var mc = e.target.blank;
 if( mc.item_url != undefined ) 
  navigateToURL( new URLRequest( mc.item_url ), "_blank" );
 else 
  change_page(mc.item_no);
}
Saludos, nos estamos comunicando!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas