Question

J'essaie d'appeler une action dans un objet flash du javascript:

comme:

function testExternalConnection(str:String):Void {
    _root.debug.htmlText = "testExternalConnection ok";
}
ExternalInterface.addCallback("testExternalConnection", this, testExternalConnection);

JS:

var movie = getFlashMovie("ap1_mod_hidden")
movie.testExternalConnection();

avec

function getFlashMovie(movieName) {
    var isIE = navigator.appName.indexOf("Microsoft") != -1;
    return (isIE) ? window[movieName] : document[movieName];
}

J'inclus mon flash en utilisant swfObject:

<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>

Rien de fou ici. Donc, ce code fonctionne bien dans tout mais pas dans Internet Explorer (quelle surprise: ). Il obtient correctement l'objet de film, mais il n'est pas en mesure d'appeler la fonction ExternalinInterface. Cela dit que la propriété n'est pas définie.

J'ai regardé sur Google et donc sans succès ... toute aide serait appréciée!

Était-ce utile?

La solution

Je crois que vous voulez utiliser l'ID, pas la div que vous ajoutez aussi le SWF:

function getFlashMovie(movieName) {
    return swfobject.getObjectById("mod");
}

Puisque vous définissez "mod" comme ID.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top