Nouvel onglet

Résolu
Bonjour, bonjour,

Sur mon site web, j'ai un script PHP qui génère automatiquement un fichier PDF depuis une page html (mpdf).

Je voudrai qu'une fois le fichier créer, celui ci soit ouvert dans un nouvel onglet.

$mpdf=new mPDF();
$mpdf->WriteHTML($lettre);
$mpdf->Output("$file", 'F');

echo "<script>window.open('$file');</script>";
header("location: index.php");


Le problème est le suivant : FIREFOX bloque et considère ça comme une pop-up.

Je me suis dit que peut être un bouton avec onclick puis un faut click javascript pourrait faire l'affaire :

echo "<input type='button' id='bt1' OnClick='window.open(\"$file\", \"_blank\");' value='Click Me'/>
  <script>
  var evt = document.createEvent('MouseEvents');
  evt.initMouseEvent('click', true, true, window,0, 0, 0, 0, 0, false, false, false, false, 0, null);
  document.getElementById('bt1').dispatchEvent(evt);  
  </script>";


Mais je me retrouve avec le même problème de pop-up bloquée.

Avait vous une idée de la marche à suivre pour que cette fenêtre s'ouvre automatiquement ?
Sans qu'il y ai de manipulation à faire coté utilisateur ?

Cordialement.



N'oubliez pas de marquez votre post comme résolut lorsque vous avez eu les réponses à vos questions...
Au royaume des aveugles, les borgnes sont rois.

2 réponses

  1. Salut,

    Quelle est la valeur de la variable $file ? Il s'agit bien d'un chemin vers le fichier pdf commençant par http ?

    As tu essayer via un lien hypertexte ?
    <a href="http://www.monsite.com/fichier.pdf" rel="nofollow" target="_blank">Voir le pdf</a>
    


    Bonne journée,
    1. Non, l'adresse du fichier et en $file="../ldm/pdf/ldm_".$row->id_unique.".pdf";

      Je vais essayer avec un lien dés que je rentre, merci de ta réponse.
    2. Merci beaucoup, tu as trouvé la solution ! Donc le problème ne vient pas de l'adressage de mon fichier. En revanche, j'ai utiliser un href plutot qu'un bouton.

      Voila le code :

      <a id='bt1' href='$file' rel="nofollow" target="_blank">Voir le pdf</a>
      
      <script>  
      var evt = document.createEvent('MouseEvents');
      evt.initMouseEvent('click', true, true, window,0, 0, 0, 0, 0, false, false, false, false, 0, null);
      document.getElementById('bt1').dispatchEvent(evt);  
      </script>
      

      Merci encore de ton aide !
  2. UP,

    Aller SVP, quand je vais sur mon site porno préféré, j'ai tout un tas de fenêtres qui s'ouvrent et qui ne sont pas considéré comme des pop-up.

    Je suis sure que c'est possible :P