Abrir una ventana nueva desde flash

Soy yo de nuevo le verdad que es urgente necesito saber como hago para abrir una página htm desde flash con medidas exactas ademas necesito saber como hago para que no interfiera con el comando fscommand pues este lo estoy utilizando para que se cierre la ventana automáticamente cuando abra la otra, hasta hay esta perfecto cierra bien y me abre la nueva ventana pero con medias distintas y yo la necesito con medidas exactas por favor necesito saber que código se pone el html y cual en el fla ademas en que parte se pone para que no interfiera con el otro comando

1 respuesta

Respuesta
1
Por ejemplo, abrir la dirección http://www.electropelvis.com/index.htm una ventana de 200x300:
getURL("javascript:void(window.open('http://www.electropelvis.com/home.htm',,'width=200,height=300'))")
Hola como estas gracias por responder pero la verdad no me sale no se que código se debe poner en el html mira este fue el código que puse en el fla
on (release) {
getURL("javascript:void(window.open('document4.htm',,'width=388,height=225))")
}
on (release) {
fscommand("cerrar","");
}
y este el el que tiene el html
<SCRIPT LANGUAGE=JavaScript>
<!--
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
// Handle all the the FSCommand messages in a Flash movie
function periodo4_DoFSCommand(command, args) {
var periodo4Obj = InternetExplorer ? periodo4 : document.periodo4;
//
if (command == "cerrar") {
window.close();
}
//
}
// Hook for Internet Explorer
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 &&
navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
document.write('<SCRIPT LANGUAGE=VBScript\> \n');
document.write('on error resume next \n');
document.write('Sub periodo4_FSCommand(ByVal command, ByVal args)\n');
document.write(' call periodo4_DoFSCommand(command, args)\n');
document.write('end sub\n');
document.write('</SCRIPT\> \n');
}
//-->
</SCRIPT>
El fscommand sirve perfecto cualdo le doy click para que me abra la nueva ventana se cierra como quiero pero no me abre nada antes me abría la ventana sin medidas ahora no abre nada.
Te agradezco tu respuesta y se me puedes ayudar con esto te lo agradecería mucho más
Bye
Se me ocurren varias formas de, por lo menos, intentarlo.
1) Más rápida...
on(release) {
// Cerramos la ventana
getURL("javascript:void(window.close)");
// Abrimos la ventana nueva
getURL("javascript:void(window.open('direccion.htm',,'width=200,height=300'))");
}
Revisa bien todas las comillas, he visto que en tu linea te faltaba cerrar unas comillas (aunque no creo
Que influya. He visto también que has definido 2 on(release)... Define solo 1 e introduce las
Instrucciones una detrás de otra.
Si esto no te funciona se me ocurre otra con fscommand y con algo de javascript...
2) Que en el parámetro de argumentos del fscommand pases la URL y las dimensiones de la ventana y desde
Javascript abras la nueva ventana. Existe un problema: que en el fscommand solo puedes pasar una
Argumento y tu necesitas pasar 2 (por lo menos): URL y dimensiones. Por ello sería necesario que en la
Misma cadena de argumentos incluyeras un carácter especial que separara un parámetro de otro y desde
Javascript incluir un código que los separe. Por ejemplo una almohadilla (#). Así tu llamada al fscommand
Sería
on(release) {
fscommand("cerrar","direccion.htm#width=300,height=400");
}
Ahora habría que ver el código en javascript para separar cada campo y además de cerrar la venta activa,
Te abra otra... Usaremos el método search de manipulación de cadenas en javascript para calcular la
Posición de la almohadilla y el método substr para obtener cada una de las cadenas (dirección y tamaño). La función quedaría de esta forma, dejando el resto de código igual...
function periodo4_DoFSCommand(command, args) {
var periodo4Obj = InternetExplorer ? periodo4 : document.periodo4;
//
if (command == "cerrar") {
window.close();
posicionalmohadilla = args.search("#");
if (posicionalmohadilla > -1) {
direccion=args.substr(0,posicionalmohadilla);
tamano=args.substr(posicionalmohadilla+1);
window.open(direccion,,tamano);
}
}
Te comento el código un poco tomando como ejemplo la llamada al fscommand de la siguiente forma:
1) Comprobamos que hemos mandado el comando "cerrar"
if (command == "cerrar") {
2) Si es así cerramos la ventana activa
window.close();
3) Calculamos la posicion del caracter #
posicionalmohadilla = args.search("#");
El metodo search obtiene la posicion donde se encuentra el caracter encerrado entre comillas ("#"). Si
este caracter (o cadena) no se encuentra en la cadena buscada el metodo devolverá -1.
4) Preguntamos si ha encontrado la almohadilla
if (posicionalmohadilla > -1) {
5) Si es así separamos la cadena y almacenamos cada parametro en una variable
direccion=args.substr(0,posicionalmohadilla);
tamano=args.substr(posicionalmohadilla+1);
6) Abrimos la ventana nueva
window.open(direccion,,tamano);
Puedes observar que en el caso de que hagamos una llamada del tipo fscommand("cerrar","") sin argumentos
Lo que debería hacer es simplemente cerrar la ventana activa, por lo que hemos conseguido una doble
funcionalidad. Por un lado podemos cerrar la ventana activa si hacemos fscommand("cerrar","") y por otro
lado podemos tambien abrir otra si lo desemamos fscommand("cerrar","direccion.htm#width=300,height=400");
Contenido de las variables
command contrendrá la cadena "cerrar".
args contendrá la cadena "direccion.htm#width=300,height=400".
Posicionalmohadilla contendra la posicion donde se encuentra el # dentro de args. En nuestro caso, y
Teniendo en cuenta que las posiciones de los caracteres comienzan el la posición 0 (cero), la variable
Debería contener el valor 13.
Dirección deberá contener "dirección.htm" ya que extraemos 13 caracteres desde la posición 0.
tamano deberá contener la cadena "width=300,height=400" ya que extraemos desde el caracter 14 hasta el
Final de la cadena.
Espero que funcione. Si no es así espero que hayas aprendido un poquito más. Ya me contarás como va
Todo...
Saludos
Gandalias
www.electropelvis.com
Te cuento que intente con lo que me dijiste pero no sirvió finalmente después de ensayar de una y otra forma la solución fue
on (release) {
getURL("javascript:void(window.close)(window.open('document.htm','','width=388,height=335'))");
}
Tenias razón creo que el conflicto era lo que tu decías estaba uasando 2 on(release), te agradezco muchísimo me sirvió mucho tu ayuda y espero poder volver a contar contigo
de nuevo gracias
Bye

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas