Other Sites in the News
- November 13, 2024
- Types of Technology: A Complete Overview [2025] - Simplilearn
- October 23, 2024
- iPhone - Britannica
Flash Forms and IE's Unspecified Error
This one is so obscure that I doubt to ever help anyone else but myself. But since these code notes are really intended for the "future me", I'm OK with it.
So here we are: We can start cars with our phones and have robots on Mars... while I'm here maintaining a ColdFusion Flash Form (cfform) originally authored 5 years ago. I'm happy to have the work, although designing a whole new UI would probably be more resourceful.
This "Rich Interactive" technology had its place in time. Personally, I think that HTML5, Ajax and jQuery owes a lot to Macromedia and their "Flash" cfform option - for motivating the web community to get off their butts and come up with something just as good or better in the open-license space.
But I digress. A bug has popped up which seems to affect the IE Flash player (11.5.502 on IE 8.0.7601). When one invokes an action which delivers a file to the browser (a typical "export" or download event), saves the file to their PC and then clicks on another element in the form - like a datagrid in my example; they are met with the following popup:
This "Unspecified error" is quite pesky, popping up repeatedly as one continues their attempt to navigate and work the form. Only reloading the page and movie relives the issue.
In simple terms, it appears as though the form has become stuck in "file download mode", and continues to think that any further request or action has something to do with a resource request event.
The workaround is to force the download event to a separate window entirely. The Actionscript exposed in ColdFusion Flash forms provides at least 2 ways to deliver a file to the user. Luckily, both of them have a parameter that's similar to " action='_blank' " in traditional HTML.
OR
_root.launcher(myUrl,1); // 0 = same window, 1 = new window
The new window opens just long enough for the file download to initiate, then closes itself. This leaves the original Flash form in its original state, so that subsequent activity does not throw the error.