« Good news for RIA and SWF | Main | Merapi is now available for download »
Flex Applications that Warn on Close
By Rich Tretola | July 2, 2008
3,436 views
Occasionally, there are times when you need to give the user the heads up that closing the application could cause issues as there are processes currently running.
This example shows an easy way to do this via the FABridge. Click the link below to run the sample.
So, how does it work?
Here are the steps to take to add this functionality.
Add an instance of the FABridge to your main Application file
Create 2 variables within your main Application file to hold a warning on/pff flag and a message.
Create a JavaScript file that will call a function before the browser window closes. The contents of the file should look something like this. Notice that the confirmExit function simply creates a variable to hold a reference to the Flex application. It then checks to see if it should warn the user by reading the warnUser ActionScript property (the FABridge JavaScript object uses implicit getters and setters when reading and writting ActionScript variables), finally it will alert the user with the custom message stored in the warningMessage property.
The last thing you need to do is update your index.template.html file to include your custom JavaScript and the FABridge.js files.
1
<bridge:FABridge bridgeName="flex"/>
1
2
2
public var warnUser:Boolean;
public var warningMessage:String;
public var warningMessage:String;
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
window.onbeforeunload = confirmExit;
function confirmExit()
{
var flexApp = FABridge.flex.root();
if(flexApp.getWarnUser())
{
return flexApp.getWarningMessage();
}
}
function confirmExit()
{
var flexApp = FABridge.flex.root();
if(flexApp.getWarnUser())
{
return flexApp.getWarningMessage();
}
}
1
2
3
4
2
3
4
<!-- BEGIN Warn on Close -->
<script src="bridge/FABridge.js" language="javascript"></script>
<script src="bridge/WarningBridge.js" language="javascript"></script>
<!-- END Warn on Close -->
<script src="bridge/FABridge.js" language="javascript"></script>
<script src="bridge/WarningBridge.js" language="javascript"></script>
<!-- END Warn on Close -->
That’s it. To avoid security sandbox errors, just make sure you run the sample through a web server and not a file path. Here is the full source code.
Topics: Flex 3 (Moxie) | 3 Comments »


![[image]](http://mowser.com/img?url=http%3A%2F%2Fassets.max.adobe.com%2Fimages%2FMAX09_D125x125.jpg)





July 2nd, 2008 at 9:20 am
Thanks but It doesn’t work neither on Safari 3.1 (Mac) nor on Opera 9.5(Mac)
Reply to this comment
July 2nd, 2008 at 10:11 am
Fantasic, thanks!
Just the thing I needed
Reply to this comment
July 2nd, 2008 at 11:30 am
Hm, you are right, I tried it in Safari 3.1 and it doesn’t work. I am not sure why.
Reply to this comment