Comunidad de diseño web y desarrollo en internet online

No funciona codigo ActionScript en IE

Citar            
MensajeEscrito el 29 Jul 2009 05:24 pm
Hola, tengo un dificil problema, tengo este codigo en Javascript, que funciona perfectamente en Safari y Firefox peeeero en Inernet explorer no pasa nada, quiero saber si estoy haciendo algo mal.

Código Javascript :

function getValues(){
var urlEnd = document.URL.indexOf('?');
var values = new Array();
var names;

if (urlEnd != -1){
var params = document.URL.substring(urlEnd+1, document.URL.length).split('&');

for(i=0; i<params.length; i++) {
names = params[i].split('=');
values[names[0]] = names[1];
}
}
return values;
}
values = getValues();
// Define las variables
var pagina = unescape(values["pagina"]);

function getNombre2() {
   return (pagina);
}


y despues en mi swf mando llamar la variable pagina y ejecuto una funcion (flipGotoPage) de esta forma:

Código ActionScript :

import flash.external.ExternalInterface;
myBook.onInit = function () {
   var pagNum = ExternalInterface.call("getNombre2");
   this.flipGotoPage(pagNum);
}


En firefox y safari funciona correctamente pero en IE no, el problema esta en mi javascript? o en mi actionscript? que puedo hacer para solucionarlo, agradeceria su ayuda.

Por arminirop

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Jul 2009 09:53 pm
Para poder acceder debes en los parametros de embed de flash debes de poner esta propiedad

Código :

params.allowScriptAccess = "always";//Nota esta nueva linea

espero que te sea de gran ayuda
suerte

Por joshuavw

Claber

306 de clabLevel



Genero:Masculino  

Juego, aprendo y programo

firefox
Citar            
MensajeEscrito el 30 Jul 2009 03:32 pm

joshuavw escribió:

Para poder acceder debes en los parametros de embed de flash debes de poner esta propiedad

Código :

params.allowScriptAccess = "always";//Nota esta nueva linea

espero que te sea de gran ayuda
suerte


Lo he insertado en mi codigo y no me funciona, aqui te pego el codigo, lo podrias ver para saber si hice algo mal, muchas gracias!

Código HTML :

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="1100" height="710">
      <param name="movie" value="catalogo.swf" />
      <param name="quality" value="high" />
     <param name="wmode" value="opaque" />
      <embed src="catalogo.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="1100" height="710" wmode="opaque" params.allowScriptAccess = "always"></embed>

Por arminirop

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Jul 2009 03:51 pm
perdon es que por lo que veo usas todavia flash 8 la forma de declararlo es asi:

Código :

<object
     classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
     width="375" height="300">
   <param name="movie" value="hello.swf">
   <param name="allowScriptAccess" value="sameDomain">
   <embed
       pluginspage="http://www.macromedia.com/go/getflashplayer"
       type="application/x-shockwave-flash"
       src="hello.swf"
       width="375" height="300"
       allowScriptAccess="sameDomain">
 </object>

claro este es una referencia de como tiene que ser declarado el allowScriptAccess, lo que se me hace raro es que puedes acceder a la funcion javascript sin estos con estos exploradores pero bueno, y aqui una liga de lo que habla de ello [url=http://www.adobe.com/es/devnet/flash/articles/fplayer8_security_09.html][/url]

Saludos

Por joshuavw

Claber

306 de clabLevel



Genero:Masculino  

Juego, aprendo y programo

firefox
Citar            
MensajeEscrito el 30 Jul 2009 04:59 pm
Muchas gracias por tomarte el tiempo de leer el post y ayudarme, pero aun no me funciona.... que otra cosa podria ser? sigue funcionando bien en firefox y safari, pero no en IE. Asi fue como aplique el codigo de mi objeto (tal como tu lo pusiste):

Código HTML :

<object
     classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
     width="1100" height="710">
   <param name="movie" value="catalogo.swf">
   <param name="allowScriptAccess" value="sameDomain">
   <param name="wmode" value="opaque">
   <embed
       pluginspage="http://www.macromedia.com/go/getflashplayer"
       type="application/x-shockwave-flash"
       src="catalogo.swf"
       width="1100" height="710"
   wmode="opaque"
       allowScriptAccess="sameDomain">
 </object>


y aun nadaaa.....

Por arminirop

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Jul 2009 05:09 pm
ya limpiaste tu cache ?

Por joshuavw

Claber

306 de clabLevel



Genero:Masculino  

Juego, aprendo y programo

firefox
Citar            
MensajeEscrito el 30 Jul 2009 05:17 pm
sip, borrado, una y otra vez....

Por arminirop

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Jul 2009 08:12 pm
alguna otra idea? alguien mas??....
:(

Por arminirop

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Jul 2009 11:10 pm
en vez de samedomain ponle always haz un trace en tu evento para ver si realmente te esta recibiendo la variable

Saludos

Por joshuavw

Claber

306 de clabLevel



Genero:Masculino  

Juego, aprendo y programo

firefox
Citar            
MensajeEscrito el 31 Jul 2009 12:04 am
disculpa, podrias ser mas especifico con el trace, aun soy novato. Saludos! (lo de always ya lo intente)

Por arminirop

8 de clabLevel



 

safari
Citar            
MensajeEscrito el 31 Jul 2009 03:50 pm
He estado revisando y al parecer el problema radica en el ExternalInterface, en firefox si funciona y en IE no. Alguien tiene una idea de como puedo solucionarlo?? o de que otra forma puedo pasar la variable de JavaScript sin utilizar ExternalInterface?

Código ActionScript :

 import flash.external.ExternalInterface;
myBook.onInit = function () {
   var pagN = ExternalInterface.call("getNombre2");
   this.flipGotoPage(pagN);
}

Por arminirop

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Ago 2009 05:39 pm
He resuelto todo el problema, el unico detalle que me faltaba por hacer era evadir al IE con el famoso swfObject y ahora todo funciona de maravilla!!. Si tienen este mismo problema o algo similar aqui les dejo el link que me ayudo a solucionarlo ExternalInterface vs. Fscommand

Por arminirop

8 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.