[flexcoders] Re: FABridge Problem - Please help!
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, 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
Re: [flexcoders] Re: FABridge Problem - Please help!
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
Re: [flexcoders] Re: FABridge Problem - Please help!
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 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 952.373.1626 -- On Wed, Sep 1, 2010 at 8:22 AM, Brian J. Ackermann 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 952.373.1626 -- On Mon, Aug 30, 2010 at 11:44 PM, Alex Harui 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 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
Re: [flexcoders] Re: FABridge Problem - Please help!
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
Re: [flexcoders] Re: FABridge Problem - Please help!
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 952.373.1626 -- On Mon, Aug 30, 2010 at 11:44 PM, Alex Harui 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 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.comflexcoders%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.
Re: [flexcoders] Re: FABridge Problem - Please help!
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 952.373.1626 -- On Wed, Sep 1, 2010 at 8:22 AM, Brian J. Ackermann 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 952.373.1626 -- On Mon, Aug 30, 2010 at 11:44 PM, Alex Harui 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 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.comflexcoders%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
Re: [flexcoders] Re: FABridge Problem - Please help!
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 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 952.373.1626 On Wed, Sep 1, 2010 at 8:22 AM, Brian J. Ackermann 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 952.373.1626 On Mon, Aug 30, 2010 at 11:44 PM, Alex Harui 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 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 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.
[flexcoders] Re: FABridge Problem - Please help!
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, 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
Re: [flexcoders] Re: FABridge Problem - Please help!
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 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 , 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