1. 在 index.template.html 中增加javascript
<script language=”JavaScript” type=”text/javascript”>
window.onbeforeunload = onbeforeunload_handler;
function onbeforeunload_handler()
{
var warning="";
var fxControl = document.${application} || window.${application};
if ( fxControl )
if ( typeof fxControl.getUnsavedDataWarning=="function")
warning = fxControl.getUnsavedDataWarning(); // This calls a function in our Flex app
if ( warning != '' )
return warning;
else
return void(0);
}
window.onunload = function()
{
var fxControl = document.${application} || window.${application};
if ( fxControl )
if ( typeof fxControl.javascriptOnUnload=="function")
fxControl.javascriptOnUnload(); // This calls a function in our Flex app
}
</script>
2.在 Flex 的 application 页面里加增一个addCallback, 在页面加载完后就addCallback:
private const UNSAVED_DATA_WARNING:String = 'You have unsaved changes. You will lose them if you continue.';
private function onCreationComplete():void {
ExternalInterface.addCallback("getUnsavedDataWarning",
function():String {
return UNSAVED_DATA_WARNING;
}
);
}