In my copy of FABridge.js, it also scans the “object” tags which in theory 
should find SWFObject.  Although in Brian’s case, I just realized that 
“document” might be the wrong document and that needs to be verified.

I didn’t realize there as an FB4 option for generating FABridge templates.  Do 
you see a key difference in the templates?  They don’t go back to AC_OETags.js 
or do they?


On 9/8/10 7:53 AM, "gmbroth" <garry.m.brot...@gmail.com> wrote:








Hi Alex,

I believe I'm having a problem similar to Brian's: FABridge working in FB3 and 
not in FB4.  File FABridge.js accesses the DOM like this:

var flashInstances = document.getElementsByTagName("embed")

and returns an empty array in FB4.  Obviously, with no flashInstance, FABridge 
can't do its thing. I've noticed that the dynamic code generated by 
swfobject.js in FB4 is different than that produced by FB3 (index.template.html 
+ AC_OETags.js) and believe that's why 'getElementsByTagName' can't resolve 
"embed". Interestingly, the "Create Ajax Bridge" option in FB4 generates HTML 
that looks a lot like FB3's index.template.html and does work with FABridge. 
Any of that make sense?

I'm not using "Create Ajax Bridge" but would like to use FABridge; is there 
some tweak I can make to FABridge.js to resolve the flash instance generated by 
FB4 and swfobject.js?  Is there a new tag name equivalent to "embed"?  I've 
poked through the DOM but am not sure what to look for. Or am I going to have 
to use HTML like that generated by Ajax Bridge?

Thanks, Garry

--- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> , Alex 
Harui <aha...@...> wrote:
>
> Brian,
>
> Thanks for the additional info, but what I am really asking for is 
> unambigious language about what your debugging has discovered so far.  If you 
> are using parent.FABridge on the JS side, what does parent point to?  Is it 
> what you expect?  If you place breakpoints on the AS side, do you get any 
> hits there?
>
>
> On 9/2/10 6:14 AM, "Brian J. Ackermann" <brian.ackerm...@...> wrote:
>
>
>
>
>
>
> Alex,
>
> I thank you for your patience.  However, in one of my earlier posts on this 
> thread I did give quite a lot of details about my particular situation (which 
> is almost certainly different, but at the same time, related to, the other 
> posters issue).
>
> In my case, I'm using an IFrame component  (from 
> http://code.google.com/p/flex-iframe/) to display a credit card data 
> collection & processing application (for PCI reasons, we do not wish to have 
> the CC data collected via our main application)
>
> What I wish to happen, is for the 'hosted' app to be able to tell the 
> 'hosting' flex app that it has completed its job, so that the flex app can 
> change the ui, to present the main dashboard again, or perhaps a new order 
> builder screen, or whatever.
>
> The problem is that my hosted html app (via javascript) is unable to 
> communicate with its host flex app.  There is an example of exactly this sort 
> of behavior here  ( 
> http://ccgi.arutherford.plus.com/website/flex/iframe/IFrameBridgeTest/ ).  
> FYI, I know for sure that this doesn't work (on Windows) with Chrome of 
> Safari, but it does work with IE, FF, and Opera.
>
> What I've done, is to take the flex3 project here( 
> http://code.google.com/p/flex-iframe/source/browse/trunk/examples/IFrameCommTest/
>  ), and just do a simple conversion of the code to flex4. I've exported my 
> version of the project to facilitate help ( 
> http://www.mediafire.com/file/172448jkkgva4ki/iframeCommTest.fxp )
>
> The issue I'm trying to resolve, is why the code works fine in flex3, but not 
> in flex4, and my best guess as to what is wrong is that its got something to 
> do with swfobject being used in the flex4 version causing a change to the 
> location of the FABridge object in the hosted html pages DOM.
>
> Hopefully that clears up some of the confusion.
>
> Thanks
>
>
> ________________________________
> Brian J. Ackermann
>  brian.ackerm...@...
>  952.373.1626
>
> ________________________________
>
>
>
>
> On Wed, Sep 1, 2010 at 11:36 AM, Alex Harui <aha...@...> wrote:
>
>
>
>
>
> So from my perspective, you aren't being specific enough.  You are saying 
> that parent.FABridge doesn't exist, the OP said something else.  There are 
> two DOMs, the JS DOM and the AS DOM.  You are now saying you can't find the 
> object, but you aren't saying which object.
>
> If parent.FABridge is null, then it sounds like a JS setup issue.  Either 
> FABridge.js isn't being loaded or isn't loaded in the right place.  You might 
> try your own test js file to see if you can find objects from your test file.
>
>
>
>
> On 9/1/10 6:27 AM, "Brian J. Ackermann" < brian.ackerm...@... 
> <http://brian.ackerm...@...> > wrote:
>
>
>
>
>
>
> Yes, I've tried debugging on the JS side of things, exactly as you mentioned 
> (See my email in this thread from  Thu, Aug 26, 2010 at 12:45 PM).  Nothing.  
> I simply can't find the object.  I used a javascript object dump function, to 
> 'scan' the objects I could think of, looking for an occurrence of this object 
> that we need for FABridge to work, but its tucked away somewhere, in a place 
> which is non-trivial to locate.
>
>
> ________________________________
> Brian J. Ackermann
>  brian.ackerm...@... <http://brian.ackerm...@...>
>  952.373.1626
>
> ________________________________
>
>
>
>
> On Wed, Sep 1, 2010 at 8:22 AM, Brian J. Ackermann < brian.ackerm...@... 
> <http://brian.ackerm...@...> > wrote:
> Alex,
>
> I think thats (the swfobject) probably getting pretty close to the right line 
> of thinking, and its something that I'd considered briefly myself, but I am 
> not savvy enough yet to make heads or tails of the issue.
>
>
> ________________________________
> Brian J. Ackermann
>
>   brian.ackerm...@... <http://brian.ackerm...@...>
>  952.373.1626
>
> ________________________________
>
>
>
>
> On Mon, Aug 30, 2010 at 11:44 PM, Alex Harui < aha...@... <http://aha...@...> 
> > wrote:
>
>
>
>
>
> I don't have time to try it right now.  In Flex 4, the tag goes inside the 
> fx:Declarations tag.  I took a quick look at the AS code and it uses 
> ExternalInterface so it shouldn't be sensitive to changes between Flex 3 and 
> 4.
>
> Have you tried debugging from both sides?  Use a JS debugger or stick a bunch 
> of alerts in the JS code and see what sub-expressions are null (parent, 
> parent.FABridge, parent.FABridge.foo, etc).  Then put breakpoints on the AS 
> side like FABridge.as.getRoot().
>
> Are you using a new Flex 4 template that now uses SWFObject instead of 
> AC_OETags.js?  It shouldn't make a difference unless you're simply not 
> including the right JS in the template.
>
>
>
>
>
> On 8/30/10 2:36 PM, "gmbroth" <gmbr...@... <http://gmbr...@...>  
> <http://gmbr...@...> > wrote:
>
>
>
>
>
>
>
>
> Hi,
>
> Was this problem resolved?  I have Flex 3 MXML that defines:
>
> <mx:Application>
>  ...
>  <utils:FABridge bridgeName="foo"/>
>  ...
> </mx:Application>
>
> In Flex 4, must this statement now appear inside an <fx:Declarations> 
> element?  Even if there's no other fx namespace elements being used in the 
> MXML?
>
> On the JavaScript side, I've been referencing the bridge as:
>
> FABridge.foo.root()
>
> which works fine in Flex 3 but doesn't resolve the bridge in Flex 4. How is 
> the bridge referenced?
>
> Thanks, Garry
>
> --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>  
> <http://flexcoders@yahoogroups.com>  <http://flexcoders@yahoogroups.com>  
> <mailto:flexcoders%40yahoogroups.com> , "Brian J. Ackermann" 
> <brian.ackermann@> wrote:
> >
> > http://code.google.com/p/flex-iframe/source/browse/trunk/examples/IFrameCommTest/src/com/google/code/flexiframe/examples/IFrameCommTest.mxml
> >
> >
> > lines 80 & 81
> >
> > in the original example, there was no ID
> >
> > Thanks
> >
> > ------------------------------
> > Brian J. Ackermann
> > brian.ackermann@
> > 952.373.1626
> > ------------------------------
> >
> >
> >
> >
> >
> > On Thu, Aug 26, 2010 at 3:27 PM, Alex Harui <aharui@> wrote:
> >
> > >
> > >
> > > I just noticed you didn't specify an id="FABridge" in your
> > > <fx:Declarations>
> > >
> > > What was the equivalent statement in Flex 3?
> > >
> > >
> > >
> > > On 8/26/10 10:45 AM, "Brian J. Ackermann" <brian.ackermann@>
> > > wrote:
> > >
> > >
> > >
> > >
> > >
> > >
> > > From my testing, I believe the problem is on the JS side of thing, and 
> > > that
> > > the FABridge doesn't 'live' in the same location in the DOM in flex4, as
> > > compared with flex3.
> > >
> > > But we're both reasonably novice flex developers, so we could be
> > > mis-interpreting what we're seeing.  In another version of the project, I
> > > have added some debugging to a text area on screen, and
> > > "this.parent.FABridge" and "parent.FABridge" and "FABridge" all return
> > > 'undefined'.  Since that used to work just fine in flex3, it seems like
> > > maybe I just need to find the new 'path' in the DOM....
> > >
> > > for example:
> > >
> > > this.parent.foo.bar.blah.FABridge
> > >
> > > Thanks,
> > >
> > > Brian
> > >
> > >
> > > ------------------------------
> > > Brian J. Ackermann
> > >  brian.ackermann@
> > >  952.373.1626
> > >
> > > ------------------------------
> > >
> > >
> > >
> > >
> > >
> > > On Thu, Aug 26, 2010 at 12:38 PM, Alex Harui <aharui@> wrote:
> > >
> > >
> > >
> > >
> > >
> > >
> > > I don't have time right now to look and I don't deal much with FABridge,
> > > but are you now saying that parent.FABridge is now the issue?  The OP said
> > > it was FABridge.flex.  Is this on the JS side or AS side?  In Flex 4, a
> > > child component's parent is not the main app, they get shoveled down into
> > > the skin.  It think the document or parentDocument properties or
> > > FlexGlobals.topLevelApplication can access the main app.
> > >
> > >
> > >
> > >
> > > On 8/26/10 9:10 AM, "Brian J. Ackermann" <brian.ackermann@ <
> > > http://brian.ackermann@> > wrote:
> > >
> > >
> > >
> > >
> > >
> > >
> > > I'm trying to get the IFrameCommTest example (from
> > > http://code.google.com/p/flex-iframe/) to work in Flex 4, and, while the
> > > IFrame itself works, the communication does not. In particular, I need to
> > > get the included HTML page to call functions from the flex app (I already
> > > have a way to get the Flex app to talk to the HTML).
> > >
> > > I've exported the project to facilitate your help.
> > > http://www.mediafire.com/file/172448jkkgva4ki/iframeCommTest.fxp
> > >
> > > The problem, is that the "parent.FABridge" doesn't exist. My guess is that
> > > something in flex4 changed with regard to how things are located in the 
> > > DOM.
> > >
> > > (This post is directly related to the original.  I just thought this would
> > > be a clearer example of the problem. )
> > >
> > > Thanks,
> > >
> > >
> > > ------------------------------
> > > Brian J. Ackermann
> > >  brian.ackermann@ <http://brian.ackermann@>
> > >  952.373.1626
> > >
> > > ------------------------------
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > Alex Harui
> > > Flex SDK Team
> > > Adobe System, Inc.
> > > http://blogs.adobe.com/aharui
> > >
> > >
> > >
> >
>
>
>
>
>
>
> --
> Alex Harui
> Flex SDK Team
> Adobe System, Inc.
> http://blogs.adobe.com/aharui
>






--
Alex Harui
Flex SDK Team
Adobe System, Inc.
http://blogs.adobe.com/aharui

Reply via email to