Ich versuche, eine Aktion in einem Flash-Objekt aus der Javascript aufrufen:ExternalInterface funktioniert nicht in IE
als:
function testExternalConnection(str:String):Void {
_root.debug.htmlText = "testExternalConnection ok";
}
ExternalInterface.addCallback("testExternalConnection", this, testExternalConnection);
js:
var movie = getFlashMovie("ap1_mod_hidden")
movie.testExternalConnection();
mit
function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
Ich schließe meinen Blitz mit swfo bjekt:
<span id="ap1_mod_hidden"></span>
<script type="text/javascript">
// Setting up the flash player
var flashvars = {
mp3Path: "stop",
artistName : "",
trackName : ""
};
var params = {
codebase: 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
src: '/flash/ap1_mod.swf',
quality: 'high',
pluginspage: 'http://www.macromedia.com/go/getflashplayer',
scale: 'showall',
devicefont: 'false',
bgcolor: '#999999',
name: 'ap1_mod',
menu: 'true',
id: 'mod',
allowFullScreen: 'false',
allowScriptAccess:'always', //sameDomain
movie: '/flash/ap1_mod.swf',
wmode: "transparent",
allowfullscreen: "true"
};
swfobject.embedSWF("/flash/ap1_mod.swf", "ap1_mod_hidden", "300", "300", "9.0.0", false, flashvars, params);
</script>
Nichts verrückt hier. Also funktioniert dieser Code in allem, aber nicht im Internet Explorer (was für eine Überraschung: \). Das Filmobjekt wird korrekt abgerufen, die Funktion Externalinterface kann jedoch nicht aufgerufen werden. Es heißt, dass die Eigenschaft nicht definiert ist.
Ich habe auf Google und SO ohne Erfolg geschaut ... jede Hilfe wäre willkommen!
Vielleicht IE ist verschroben, weil Sie das Argument str zu testExternalConnection liefern nicht. –