# CallIFrameFunction.mxml

`<?xml version="1.0" encoding="utf-8"?>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Copyright (c) 2009 flex-iframe
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- $Id: CallIFrameFunction.mxml 199 2010-05-19 21:00:39Z Julien.Nicoulaud $
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-->
<!---
An example application that demonstrates the callIFrameFunction() method.
@author Julien Nicoulaud
-->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:flexiframe="http://code.google.com/p/flex-iframe/"
horizontalAlign="center"
verticalAlign="middle"
viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
/**
* Call the 'showAlert()' JavaScript method.
*/
private function callShowAlert():void
{
iFrameWithJSfunctions.callIFrameFunction('showAlert');
}
/**
* Call the 'showAlertWithParameter()' JavaScript method.
*/
private function showAlertWithParameter():void
{
iFrameWithJSfunctions.callIFrameFunction('showAlertWithParameter', [ 'flex-iframe o//' ]);
}
/**
* Call the 'getCurrentDate()' JavaScript method.
*/
private function callGetCurrentDate():void
{
iFrameWithJSfunctions.callIFrameFunction('getCurrentDate',null,handleGetCurrentDateResult);
}
/**
* Handle the 'getCurrentDate()' JavaScript method result.
*/
private function handleGetCurrentDateResult(result : Object):void
{
Alert.show("The 'getCurrentDate()' method returned '" + result + "'.");
}
]]>
</mx:Script>
<!-- Example project presentation -->
<mx:ApplicationControlBar dock="true">
<mx:Text selectable="false">
<mx:htmlText><![CDATA[<font color="#000000" size="12"><b>Flex-IFrame - callIFrameFunction() example</b><br>This example shows how to use the callIFrameFunction() method.</font>]]></mx:htmlText>
</mx:Text>
</mx:ApplicationControlBar>
<!-- The IFrame -->
<flexiframe:IFrame id="iFrameWithJSfunctions"
label="Map"
source="pageWithJSfunctions.html"
width="400"
height="120"
overlayDetection="true" />
<!-- Javascript functions controls -->
<mx:VBox id="javascriptFunctionsControls"
width="400">
<mx:Button click="callShowAlert()"
label="call 'showAlert()'"
width="100%"/>
<mx:Button click="showAlertWithParameter()"
label="call 'showAlertWithParameter()'"
width="100%"/>
<mx:Button click="callGetCurrentDate()"
label="call 'callGetCurrentDate()'"
width="100%"/>
</mx:VBox>
</mx:Application>
`