2010-09-18 4 views
1

Je Flex 4 & un bouton de paiement Amazon, la façon dont Miti montre ici: http://miti.pricope.com/2009/07/11/using-amazon-flexible-payment-system-with-flex/IE9 .... fermer la fenêtre, exécutez la fonction flex

Comme il montre, lorsque le processus de paiement est effectué il y a un html bouton qui apparaît dans le popup qui appelle une fonction JavaScript. Cette fonction JavaScript fermera la fenêtre pop-up, revenir à l'application flex & exécuter une fonction flex:

`

<script type="text/javascript"> 
function closeWindow() { 
    window.opener.window.document.getElementById('index').paymentNotification(); 
    window.close(); 
} 
</script> 

    <form> 
    <input type="button" value="Click here to return" onClick="closeWindow()"/> 
    </form> 

` Cela fonctionne bien en chrome, firefox, & IE8. Cependant, cela ne fonctionne pas dans le nouveau IE9. Le bouton html est là, mais cliquer dessus ne fait rien: ne ferme pas la fenêtre popup et n'exécute pas la fonction en flex. Est-ce que quelqu'un a une solution de contournement?

Editer: Je peux obtenir le "window.close();" partie pour bien fonctionner. Cependant, appeler la fonction en flash ne fonctionne toujours pas.

Répondre

0

Précisez que getElementById('index') index est l'ID de votre application Flash. Aussi, vous devez avoir ceci:

function thisMovie(movieName) { 
     if (navigator.appName.indexOf("Microsoft") != -1) { 
      return window[movieName]; 
     } else { 
      return document[movieName]; 
     } 
    } 

from, pour appeler vos affaires correctement. Et vérifiez que vous avez ajouté un rappel à l'intérieur de votre application.

Quoi qu'il en soit, c'est un problème de type ExternalInterface, donc pour plus d'exemples regarder ici: http://blog.flexexamples.com/category/externalinterface/

Questions connexes