{"id":2713,"date":"2010-02-01T15:47:05","date_gmt":"2010-02-01T21:47:05","guid":{"rendered":"http:\/\/www.josuepalma.com\/blog\/?p=2713"},"modified":"2010-02-01T15:53:15","modified_gmt":"2010-02-01T21:53:15","slug":"fbjs-bridge-comunicando-as3-y-javascript-en-facebook","status":"publish","type":"post","link":"https:\/\/www.josuepalma.com\/blog\/fbjs-bridge-comunicando-as3-y-javascript-en-facebook\/","title":{"rendered":"fbjs-bridge , comunicando as3 y javascript en facebook"},"content":{"rendered":"<p>Quiero comenzar a escribir tutoriales en el blog por que me los piden mucho, pero antes de eso para entrar en calor quiero poner algunos tips, que aunque son sencillos veo que continuamente lo preguntan o simplemente no hay referencia en espa\u00f1ol<\/p>\n<p><strong>fbjs-bridge<\/strong><\/p>\n<p>En mis apps a veces he necesitado llamar funciones javascript desde flash, la primera vez ya habia creado y testeado cada una de ellas y se me hizo facil utilizar ExternalInterface, pero por cuestiones de seguridad facebook no permite hacerlo directamente, asi que investigue y la respuesta fue muy simple<\/p>\n<p>La etiqueta<\/p>\n<pre name=\"code\" class=\"xml:nocontrols\">\r\n<fb:fbjs-bridge   \/> \r\n<\/pre>\n<p>permite activar ExternalInterface para usarlo con FBJS, esto lo hace creando otro SWF que contiene un LocalConnection, de esta forma nos permite acceder desde nuestro swf y llamar a las funciones, la forma de utilizarlo es muy sencilla: si has utilizado Flash en applicacioens de facebook sabr\u00e1s que la etiqueta fbml <strong><fb:swf \/><\/strong> envia con flashvars los parametros: fb_sig_user, fb_sig_session_key, pues si utilizas fbjs-bridge enviara ademas: <strong>fb_local_connection<\/strong>, que es el nombre del localConnection que utilizaremos para llamar funciones:<\/p>\n<pre name=\"code\" class=\"javascript:nocontrols\">\r\nvar connection:LocalConnection = new LocalConnection(); \r\nvar connectionName:String = LoaderInfo(this.root.loaderInfo).parameters.fb_local_connection; \r\nfunction callFBJS(methodName:String, parameters:Array):void \r\n{ \r\nif (connectionName) { \r\n   connection.send(connectionName, \"callFBJS\", methodName, parameters); } \r\n} \r\n\r\ncallFBJS(\"document.setLocation\", [\"http:\/\/josuepalma.com\"]); \/\/llama a la funcion y envia los parametros\r\n<\/pre>\n<p>La forma de usarlo en FBML es aun mas simple, lo unico que debes hacer es insertar fbjs-bridge antes de swf, para crear primero el localConnection<\/p>\n<pre name=\"code\" class=\"xml:nocontrols\">\r\n<fb:fbjs-bridge\/>\r\n<fb:swf swfsrc=\"flash.swf\" width=\"100\" height=\"100\"\/> \r\n<\/pre>\n<p><a href=\"http:\/\/wiki.developers.facebook.com\/index.php\/Fb:fbjs_bridge\">http:\/\/wiki.developers.facebook.com\/index.php\/Fb:fbjs_bridge<\/a><\/p>\n<p> nota: el syntaxhighlighter cierra automaticamente las etiquetas pero no van asi \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quiero comenzar a escribir tutoriales en el blog por que me los piden mucho, pero antes de eso para entrar en calor quiero poner algunos\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[70,94,30,93],"class_list":["post-2713","post","type-post","status-publish","format-standard","hentry","category-desarrollo","tag-facebook","tag-fbml","tag-flash","tag-tutoriales"],"_links":{"self":[{"href":"https:\/\/www.josuepalma.com\/blog\/wp-json\/wp\/v2\/posts\/2713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.josuepalma.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.josuepalma.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.josuepalma.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.josuepalma.com\/blog\/wp-json\/wp\/v2\/comments?post=2713"}],"version-history":[{"count":13,"href":"https:\/\/www.josuepalma.com\/blog\/wp-json\/wp\/v2\/posts\/2713\/revisions"}],"predecessor-version":[{"id":2723,"href":"https:\/\/www.josuepalma.com\/blog\/wp-json\/wp\/v2\/posts\/2713\/revisions\/2723"}],"wp:attachment":[{"href":"https:\/\/www.josuepalma.com\/blog\/wp-json\/wp\/v2\/media?parent=2713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.josuepalma.com\/blog\/wp-json\/wp\/v2\/categories?post=2713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.josuepalma.com\/blog\/wp-json\/wp\/v2\/tags?post=2713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}