2010-09-29 6 views
1

J'ai un jeu Flash sur mon site. Il y a un bouton "Télécharger la version complète" qui appelle la fonction Javascript:301 Redirect appelé à partir de Flash se bloque Internet Explorer

function download() { 
    window.open('http://mysite.com/goto/game1'); 
} 
  1. http://mysite.com/goto/game1
    réoriente via 301 Rediriger à .htaccess pour
  2. http://mystatisticsite.com/goto/mysite/game1
    redirections via PHP header ('Emplacement:'. $ downloadUrl); à
  3. http://gamesite.com/downloadgame?id=mysite
    redirige vers
  4. http://gamesite.com/game.exe

Et voici une nouvelle fenêtre IE ouverte ferme juste (se rendre à la dernière URL, pas au milieu de réoriente).

J'ai ajouté le lien HTML http://mysite.com/goto/game1 et le lien Javascript avec onclick = "download()" sur la même page. Les deux fonctionnent très bien, seulement le lien du jeu flash se bloque IE.

J'ai essayé d'appeler download() depuis "IE Developer Tools" -> Script -> Exécuter le script, il plante aussi IE. Supposons que cela puisse être une étrange chose d'IE de sécurité, mais il ne montre pas "Êtes-vous sûr?" mais ferme juste la nouvelle fenêtre.

Firefox & Jeu de téléchargement de Chrome sans aucun problème.

+0

+1 pour l'utilisation de l'expression "écrase Internet Explorer." –

+1

MIME type incorrect? –

+0

FWIW, il est beaucoup plus facile de déboguer des problèmes comme celui-ci avec un repro réel. – EricLaw

Répondre

0

Un de mes collègues intelligents a trouvé la réponse.

Le problème était dans Internet Explorer qui n'a pas eu de relation de clic dans Flash et le fichier téléchargé car Flash n'était pas en mode transparent donc il n'était pas connecté pour IE avec la page. Mais mon film Flash s'est bloqué lorsque j'ai ajouté manuellement le mode transparent.

Le problème a été résolu en utilisant SWFObject avec transparence:

var so = new SWFObject("movie.swf", "mymovie", "400", "100%", "8", "#336699"); 
so.addParam("wmode", "transparent");