Necesita ayuda w / ExternalInterface, SWFObject, LoadVars

  • DartHead
  • Beginner
  • Beginner
  • Avatar de Usuario
  • Registrado: Feb 22, 2004
  • Mensajes: 56
  • Loc: NYC
  • Status: Offline

Nota Junio 15th, 2007, 9:27 am

Im usando sendAndLoad para cargar un archivo HTML externo en un campo de texto dentro de mi SWF. Tengo que usar un enlace en este archivo de texto para llamar a una función en este mismo swf (para cambiar la página).

Mi SWF está estructurado de manera que el cuerpo principal de la EA se encuentra en un clip de película en la segunda escena.

¿Hay algo especial que tengo que hacer para usar ExternalInterface con SWFObject para llamar a una función en este lugar? El método addCallback está regresando "verdadero", pero la consola de JS me dice "Error: flashMovie.loadPage no es una función".

El SWFObject se establece para permitir el acceso de comandos.

Heres la JS:

Código: [ Select ]
var flashMovie;
function init() {
    if (document.getElementById) {
                flashMovie = document.getElementById("myMovie");
    }
}
// wait for the page to fully load before initializing
window.onload = init;

function openPage(){
    if(flashMovie){
        flashMovie.loadPage("MyPage");
    }
}
  1. var flashMovie;
  2. function init() {
  3.     if (document.getElementById) {
  4.                 flashMovie = document.getElementById("myMovie");
  5.     }
  6. }
  7. // wait for the page to fully load before initializing
  8. window.onload = init;
  9. function openPage(){
  10.     if(flashMovie){
  11.         flashMovie.loadPage("MyPage");
  12.     }
  13. }


Heres el AS:

Código: [ Select ]
import flash.external.*;
var connection = ExternalInterface.addCallback("openPage", null, loadPage);
  1. import flash.external.*;
  2. var connection = ExternalInterface.addCallback("openPage", null, loadPage);


Y luego, por supuesto, los theres de la función LoadPage sí mismo, que hace existe.

Gracias por tu ayuda!
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Junio 15th, 2007, 9:27 am

  • arakno
  • Beginner
  • Beginner
  • Avatar de Usuario
  • Registrado: May 31, 2006
  • Mensajes: 35
  • Loc: Lisboa
  • Status: Offline

Nota Junio 18th, 2007, 8:50 am

Hola, no estoy seguro si he entendido bien, de todos modos esto es lo que hice para llegar x y la posición del ratón y de una función de JavaScript (getMousPos) en flash:

Código: [ Select ]
import flash.external.ExternalInterface;

function showMousPos():Void {
 mous = ExternalInterface.call("getMousPos");

}
  1. import flash.external.ExternalInterface;
  2. function showMousPos():Void {
  3.  mous = ExternalInterface.call("getMousPos");
  4. }


Esperamos que ayuda a...
  • DartHead
  • Beginner
  • Beginner
  • Avatar de Usuario
  • Registrado: Feb 22, 2004
  • Mensajes: 56
  • Loc: NYC
  • Status: Offline

Nota Junio 18th, 2007, 11:39 am

Arakno Hey,

Gracias por su respuesta. El método call () es obtener los datos de los contenedores. Yo necesitaba una comunicación bidireccional. Y, en realidad lo he descubierto.

Allí estaba mi ActionScript y #058;
Código: [ Select ]
import flash.external.*;
var connection = ExternalInterface.addCallback("openPage", null, loadPage);
  1. import flash.external.*;
  2. var connection = ExternalInterface.addCallback("openPage", null, loadPage);


Y mi javascript & #058;
Código: [ Select ]
var flashMovie;
function init() {
  if (document.getElementById) {
      flashMovie = document.getElementById("myMovie");
  }
}
// wait for the page to fully load before initializing
window.onload = init;

function openPage(){
  if(flashMovie){
   flashMovie.loadPage("MyPage");
  }
}
  1. var flashMovie;
  2. function init() {
  3.   if (document.getElementById) {
  4.       flashMovie = document.getElementById("myMovie");
  5.   }
  6. }
  7. // wait for the page to fully load before initializing
  8. window.onload = init;
  9. function openPage(){
  10.   if(flashMovie){
  11.    flashMovie.loadPage("MyPage");
  12.   }
  13. }


Mi error fue aquí:
Código: [ Select ]
flashMovie.loadPage("MyPage");


Debería haber sido
Código: [ Select ]
flashMovie.openPage("MyPage");


porque el primer parámetro de la addCallback () método consiste en identificar un nombre para el tercer parámetro, que es la que la función que desea llamar desde JS.

Código: [ Select ]
addCallback("openPage", null, loadPage);


Así que "openPage" es lo que yo llamo de JS y se refiere a la función de LoadPage I definidos en el AS. El problema no tenía nada que ver con LoadVars en archivos de texto o enlaces externos.

Publicar Información

  • Total de mensajes en este tema: 3 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 36 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC