Changing the function use encoding (%3D in place of the =) causes the function
to completely fail. I guess I can chalk this one up as an Adobe bug overall?
ExternalInterface.call("window.open",urlString,"_blank","status%3D1,scrollbars%3D1,toolbar%3D1,menubar%3D1,location%3D1,resizable%3D1");
Michael J. Regert
From: [email protected] [mailto:[email protected]] On Behalf
Of Alex Harui
Sent: Saturday, July 07, 2012 11:46 PM
To: [email protected]
Subject: Re: [flexcoders] Errors in flash.external::ExternalInterface$/call()
I'm just guessing here, but I get suspicious when I see non-alphas (equal
signs, dashes) in a URL. See this link:
http://www.w3schools.com/tags/ref_urlencode.asp
On 7/6/12 6:22 AM, "[email protected]" <[email protected]> wrote:
Thank you Alex for your reply. Can you further clarify what you mean by "try
encoding entities in the urlString and maybe the additional args". I guess I'm
not understanding. The URLString I'm passing in is like
https://hostname/resources/locale/en_US/help/GUID-1234567890.html and the args
I'm passing are shown below... How do I encode them?
Michael J. Regert
Please consider the environment before printing this email.
Confidentiality Notice | This e-mail message, including any attachments, is for
the sole use of the intended recipient(s) and may contain confidential or
proprietary information. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient, immediately
contact the sender by reply e-mail and destroy all copies of the original
message.
From: flexcode! rs@yahoo groups.com [mailto:[email protected]] On
Behalf Of Alex Harui
Sent: Thursday, July 05, 2012 11:18 PM
To: [email protected]
Subject: Re: [flexcoders] Errors in flash.external::ExternalInterface$/call()
It appears that ExternalInterface.call takes its arguments and encodes them
into XML before passing them to the HTML/JS wrapper. If there is something in
the arguments that messes up the encoding then maybe you would get this error.
I would try encoding entities in the urlString and maybe the additional args.
On 7/5/12 12:46 PM, "[email protected]" <[email protected]> wrote:
I'm working on a bug which has us puzzled and I'm looking for a bit of
direction. When we launch our external help documents (HTML) with the
following command, sometimes we get an array of XML parse errors. It is very
inconsistent and sometimes requires clicking the help button multiple times
before it appears. I cannot step into the ExternalInterface code to see what
it is failing on. The help page DOES launch correctly, so I know the URL is
fine. But when I close the HTML page, I get an error sometimes. The error is
not consistent either. Any pointers on how to debug this? Is the XML it is
trying to parse the actual HTML? I would think that Flex would just open a
browser window, ignoring the content. We're using Flex 4.0 SDK.
We're calling:
ExternalInterface.call("window.open",urlStri!
ng,"_blank","status=1,scrollbars=1,toolbar=1,me! nubar=1,
location=1,resizable=1");
Errors seen include:
TypeError: Error #1090: XML parser failure: element is malformed.
at flash.external::ExternalInterface$/call()
TypeError: Error #1095: XML parser failure: Unterminated attribute.
at flash.external::ExternalInterface$/call()
Error: Error #1502: A script has executed for longer than the default timeout
period of 15 seconds.
at flash.external::ExternalInterface$/_argumentsToXML()
at flash.external::ExternalInterface$/call()
- Michael J. Regert
--
Alex Harui
Flex SDK Team
Adobe Systems, Inc.
http://blogs.adobe.com/aharui