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...@gmail.com> 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...@gmail.com
 952.373.1626

________________________________




On Wed, Sep 1, 2010 at 11:36 AM, Alex Harui <aha...@adobe.com> 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...@gmail.com 
<http://brian.ackerm...@gmail.com> > 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...@gmail.com <http://brian.ackerm...@gmail.com>
 952.373.1626

________________________________




On Wed, Sep 1, 2010 at 8:22 AM, Brian J. Ackermann < brian.ackerm...@gmail.com 
<http://brian.ackerm...@gmail.com> > 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...@gmail.com <http://brian.ackerm...@gmail.com>
 952.373.1626

________________________________




On Mon, Aug 30, 2010 at 11:44 PM, Alex Harui < aha...@adobe.com 
<http://aha...@adobe.com> > 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...@hotmail.com <http://gmbr...@hotmail.com> 
 <http://gmbr...@hotmail.com> > 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 <http://flexcoders@yahoogroups.com>  
<http://flexcoders@yahoogroups.com>  <mailto:flexcoders%40yahoogroups.com> , 
"Brian J. Ackermann" <brian.ackerm...@...> 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.ackerm...@...
> 952.373.1626
> ------------------------------
>
>
>
>
>
> On Thu, Aug 26, 2010 at 3:27 PM, Alex Harui <aha...@...> 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.ackerm...@...>
> > 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.ackerm...@...
> >  952.373.1626
> >
> > ------------------------------
> >
> >
> >
> >
> >
> > On Thu, Aug 26, 2010 at 12:38 PM, Alex Harui <aha...@...> 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.ackerm...@... <
> > http://brian.ackerm...@...> > 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.ackerm...@... <http://brian.ackerm...@...>
> >  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

Reply via email to