0
J'utilise le code suivant. Cela fonctionne très bien avec getElementByID mais si j'utilise une fonction de détection de système d'exploitation, il cesse de fonctionner.Erreur de communication Flash/Javascript
function getFlashMovie(movieName)
{
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
getFlashMovie('myId').sendToActionsript(str);
Le code ci-dessus ne fonctionne pas alors que la ligne ci-dessous travaille des idées?
document.getElementById('myId').sendToActionscript(str);
EDIT: Un autre morceau de code pour la même chose, qui ne fonctionne pas non plus.
function getFlashMovieSecond(movieName)
{
if (window.document[movieName])
{
return window.document[movieName];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(movieName);
}
}
Essayez d'utiliser l'exemple qui vient avec l'aide (http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external /ExternalInterface.html#includeExamplesSummary) - supprimez progressivement les bits dont vous n'avez pas besoin et incorporez le code dans votre projet. Rappelez-vous que certains navigateurs utilisent du contenu Flash, alors que d'autres utilisent le tag d'objet. Assurez-vous donc que vous avez le même nom/identifiant sur les deux balises, et que AllowScriptAccess a la valeur "always" ". HTH –