PDA

View Full Version : Internet Explorer Issue


shinkdog
02-10-2009, 05:22 PM
Hi,

I have an embedded flash movie that runs an AS function that runs a javascript function on the html page when you push a button. However, it only works in Firefox, Safari and Chrome. Is there a workaround for IE 6 & 7?

My javascript is:
<script>
navArray = new Array();

navArray["home"] = "../index.aspx";
navArray["about"] = "../about.aspx";
navArray["contact"] = "../contact.aspx";
navArray["portfolio"] = "../portfolio.aspx";
navArray["services"] = "../services.aspx";
navArray["photogallery"] = "../photogallery.aspx";

function navigate(which) {

if (window.opener) {

if (which == "contact" || which == "services")
{
window.open (navArray[which], 'newWin')
}
else if (which == "photogallery" || which == "portfolio")
{
window.location = (navArray[which]);
}
else
{
window.opener.location = navArray[which];
opener.window.focus();
}

}
else
{
window.location = (navArray[which]);
}

}

function openerlink(url)
{
opener.location.href = urlbase + url;
}
</script>

My actionscript is:
import flash.external.ExternalInterface;
function homeLink(e:MouseEvent)
{
ExternalInterface.call('navigate', 'home');
ExternalInterface.call('window.close()');

}

Thanks for your help!

rawmantick
02-11-2009, 06:25 AM
ExternalInterface.call('window.close()');
I doubt ExternalInterface supports dot operator. It only allows top level methods... Correct me if I'm wrong.

Try to use ExternalInterface.available (http://livedocs.adobe.com/flex/3/langref/flash/external/ExternalInterface.html#available) property. Probably in IE it will give false. Well... I remember I used ExternalInterface in IE and it worked...