Comunidad de diseño web y desarrollo en internet online

picnic desde flash

Citar            
MensajeEscrito el 14 Sep 2011 12:58 pm
Estoy intentanco cargar un modulo de picnik en una caja superpuesta a mi web (tipo prettyPhoto).

Si la web estuvise hecha en php no tendría problema (ya lo he probado): me bajaría el js, el css y llamaría al módulo así:

Código HTML :

<a class="pbox" href="http://www.picnik.com/service/?_apikey=MiApiKey&_expand_button=true&_close_target=http://www.picnik.com/picnikbox/picnikbox_close_2_0.html">Open Picnik In A Box (With An Expand Button)</a>


El problema es que la web la estoy haciendo en flash. He creado una función javascript a la que llamo con un ExternalInterface.call

Le doy la ruta del js y el css que te da picnik:

Código HTML :

<link rel="stylesheet" href="css/prettyPhoto.css" type="text/css" media="screen" charset="utf-8" />
<script src="js/prettyPhoto/jquery.prettyPhoto.js" type="text/javascript" charset="utf-8"></script>


Creo las funciones javascript:

Código HTML :

<script type="text/javascript">      
   $(document).ready(function() {
      // not from here
      $("a[rel^='picnikBox']").picnikBox({});
   });
         
   function picnikLaunch(linkurl) {
      //alert(linkurl);
      document.getElementById("picnikLink").href = linkurl;
      $("#picnikLink").trigger('click');
   }   
</script>


La etiqueta en el html:

Código HTML :

<a id="picnikLink" class="pbox" href="" rel="picnikBox"></a>


Y la llamada desde el swf:

Código ActionScript :

boton.addEventListener(MouseEvent.CLICK,clickButton);

function clickButton(e:MouseEvent):void {
   var url:String = "http://www.picnik.com/service/?_apikey=MiApiKey&_expand_button=true&_close_target=http://www.picnik.com/picnikbox/picnikbox_close_2_0.html";
   ExternalInterface.call("picnikLaunch", url);
}

:shock: ¡¡¡Y NO ME FUNCIONA!!! :shock:

El caso es que si cambio la funcion javascript "picnikLaunch" por esta:

Código HTML :

function picnikLaunch(linkurl) {
      document.location.href=linkurl;
}


me carga el módulo de picnik en la misma ventana ("_self") en vez vez de cargarla en una caja superpuesta (tipo prettyPhoto).

He hecho pruebas y el problema con esta última opción es que no soy capaz de pasarle el nombre de clase "pbox" y por más que he probado opciones no lo consigo.

Lo ideal sería poder hacerlo con la primera opción (usando $("#picnikLink").trigger('click');) pero cualquiera de las dos me valdría... si alguien se le ocurre cómo conseguirlo se lo agracedería.

Por juanfher

74 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Sep 2011 01:35 pm
Acá estás pasando la url

Código ActionScript :

 ExternalInterface.call("picnikLaunch", url); 


¿No llega, que te dice el alert?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Sep 2011 02:15 pm
El ExternalInterface me funciona bien... si descomento el alert de la función javascript me traza la ruta que le estoy enviando desde el swf. Si esa ruta la llamo en un document.location.href, me la garga sin problemas pero lo que no consigo que la abra en una caja tipo prettyPhoto.

Por juanfher

74 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Sep 2011 02:16 pm
Ok, entonces es un problema de JQuery, paso el POST al foro correspondiente

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Sep 2011 04:34 pm
Bueno... despues de darles varias vueltas (ojo que en el código que postee me equivoqué y puse la llamada al js de prettyPhoto y no la de picnik) he probado que es el js de picnik el que provoca el error. Simplificando al máximo el código:

Esto NO FUNCIONA (no traza el alert):

Código HTML :

<script type="text/javascript" src="js/jquery-1.6.4.js" charset="utf-8"></script>
<!-- include picnik library -->
<link rel="stylesheet" href="css/picnikBox.css" media="screen" type="text/css" />
<script type="text/javascript" src="js/picnikBox.js"></script>
      
<script type="text/javascript">
   $(document).ready(function() {
      alert("lol");
   });   
</script>


Esto, sim embargo sí funciona (sí traza el alert):

Código HTML :

<script type="text/javascript" src="js/jquery-1.6.4.js" charset="utf-8"></script>
<!-- include picnik library -->
<link rel="stylesheet" href="css/picnikBox.css" media="screen" type="text/css" />
      
<script type="text/javascript">
   $(document).ready(function() {
      alert("lol");
   });   
</script>


El problema es que no controlo de javascript como para saber qué es lo que hay en el picnikBox.js que hace que falle el jquery. (picnikbox_2_0.js)

Por juanfher

74 de clabLevel



 

firefox

 

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