Window.open qui pose pb

bugs74 Messages postés 5 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 21 novembre 2010 - 20 nov. 2010 à 15:57
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 21 nov. 2010 à 16:27
Bonjour

j'ai un problème avec IE (fonctionne sur les autres navigateurs) sur un script qui fait un appel automatique à window.open.
le window.open servant a télécharger le fichier créé.
$.get("creation_fichier_excel.php", { f: titre },
   function() {
      var fichier = titre + ".xls";
      window.open(fichier);
   } 
});


La fenêtre s'ouvre et se referme, sans télécharger le fichier (aucun message d'erreur)
Remarque :
1/ si je demande d'ouvrir un fichier txt ou htm, ca marche, mais les autres extensions sont sans effet (pdf, zip...)
2/ en local, le problème ne se pose pas ! Le problème survient uniquement sur le site online.

j'ai pensé à un problème de sécurité, mais je ne vois lequel (pas de bloqueur antipopup activé).

j'ai triché en mettant window.location.href si le navigateur est microsoft internet explorer, mais ca me satisfait moyen (Il y a un message intermédiaire qui oblige a cliquer 2x avant de pouvoir télécharger)

j'ai aussi tenté de passer par une page qui force les header download, mais sans effet.

Une idée (google ne m'a pas trop servi)

3 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
21 nov. 2010 à 00:03
Bonjour,
le téléchargement ou l'affichage va dépendre du paramétrage du navigateur hôte, aussi le meilleur moyen est de passer par le PHP pour forcer le téléchargement.
Forcer le téléchargement d'un fichier

;O)
0
bugs74 Messages postés 5 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 21 novembre 2010
21 nov. 2010 à 10:36
A vrai dire, j'ai déjà testé mais ca n'a pas marché. J'avais créé une page séparé avec des headers pour forcer le dl. Cette page fonctionne si je l'appelle directement, mais si je fais un appel automatiquement je me retrouve dans le même cas de figure que plus haut
$.get("creation_fichier_excel.php", { f: titre },
   function() {
      window.open("download.php");
   } 
});


j'ai aussi essayé de faire un $.get, sans résultat non plus.
$.get("creation_fichier_excel.php", { f: titre },
   function() {
      $.get("download.php")
   } 
});
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
21 nov. 2010 à 16:27
Bonjour,
bien peur de ne pas t'être d'une grande aide...
Si toutefois tu as un page en ligne pour jeter un oeil!

;O)
0
Rejoignez-nous