IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dynamique Discussion :

[FLASH 8] [AS] Problème de lien sous IE


Sujet :

Dynamique

  1. #1
    BnA
    BnA est déconnecté
    Membre averti Avatar de BnA
    Inscrit en
    Mars 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 559
    Points : 397
    Points
    397
    Par défaut [FLASH 8] [AS] Problème de lien sous IE
    Bonjour!

    Voilà mon problème. J'ai une petite animation tout simple, avec un lien vers un PDF.

    Sous Firefox, lors d'un clic sur ce lien, le fichier PDF s'ouvre dans un nouvel onglet FF (objet application/pdf).

    Sous IE par contre, il bloque cette nouvelle fenêtre qu'il considère comme popup.

    Ma question: comment faire pour forcer l'utilisateur à télécharger le PDF (et non plus l'ouvrir dans le navigateur)??
    Sans extrait de code, ne vous attendez à aucun miracle (sauf miracle) ...

    ...et n'oubliez pas: RTFM!!

    Téléchargez FireBug pour Firefox (le paracétamol du développement web)

    "MERCI" ne coûte rien, n'hésitez pas à vous en servir!

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    salut

    met ton pdf en zip et tu auras automatiquement une invite a telecharger le fichier
    a+

  3. #3
    BnA
    BnA est déconnecté
    Membre averti Avatar de BnA
    Inscrit en
    Mars 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 559
    Points : 397
    Points
    397
    Par défaut
    C'est une solution en effet, mais je ne peux pas mettre le PDF en Zip.

    C'est une question d'image pour la société pour laquelle je bosse, ce n'est pas très pratique de le zipper, et tout le monde (le très grand public) ne sait pas spécialement comment ouvrir ce genre de fichier...

    Et mon patron vient de me dire: "Non, pas de zip!"... Donc...

    Mais merci quand même!

    Une autre solution?
    Sans extrait de code, ne vous attendez à aucun miracle (sauf miracle) ...

    ...et n'oubliez pas: RTFM!!

    Téléchargez FireBug pour Firefox (le paracétamol du développement web)

    "MERCI" ne coûte rien, n'hésitez pas à vous en servir!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    Non ce script le fait très bien:

    mets ca sur ton lien pour lancer le téléchargement:

    <a href="send.php">letextedetonlien</a>
    et voici le fichier send.php:

    <?php
    header("Content-disposition: attachment;filename=lenomdetonfichier.pdf");
    header("Content-Type: application/octetstream");
    header("Pragma: no-cache");
    header("Expires: 0");
    $fichier=fopen("lendroitoutonfichiersetrouve.pdf","r");
    while(!feof($fichier))
    {
    print(fgetc($fichier));
    }
    fclose($fichier);
    ?>
    P.s. en gras les choses à modifier.

    Exemple sur www.aliose.ch sous la section me lire -> mon travail de maturité -> télécharger le

  5. #5
    BnA
    BnA est déconnecté
    Membre averti Avatar de BnA
    Inscrit en
    Mars 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 559
    Points : 397
    Points
    397
    Par défaut


    Euh c'est en Flash en fait... Donc ce script il fonctionnera aussi?

    C'est une animation Flash, le lien vers le fichier c'est simplement un getURL()...

    Parce que là je vois pas où je peux mettre ce script!
    Sans extrait de code, ne vous attendez à aucun miracle (sauf miracle) ...

    ...et n'oubliez pas: RTFM!!

    Téléchargez FireBug pour Firefox (le paracétamol du développement web)

    "MERCI" ne coûte rien, n'hésitez pas à vous en servir!

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    Lol, moi aussi c'est du flash. Mon <a href="send.php">letextedetonlien</a> est utilisé par du texte html.

    Si tu veux le mettre sur un bouton, un getURL est tu fais appel à une méthode javascript qui lance ton send.

    En faite, plus simple tu n'as qu'à lancer ton script php une fois ton bouton cliqué.

  7. #7
    BnA
    BnA est déconnecté
    Membre averti Avatar de BnA
    Inscrit en
    Mars 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 559
    Points : 397
    Points
    397
    Par défaut
    Désolé mais cette solution ne me satisfait pas.

    C'est un site pro sur lequel je bosse, et je peux pas modifier les fichiers comme je veux...

    Par contre, en surfant sur ce forum, j'ai trouvé ceci:

    méthode FileReference.download

    http://www.developpez.net/forums/sho...d.php?t=231553

    En recherchant dans l'aide de Flash, j'ai trouvé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    import flash.net.FileReference;
     
    var listener:Object = new Object();
     
    listener.onSelect = function(file:FileReference):Void {
        trace("onSelect: " + file.name);
    }
     
    listener.onCancel = function(file:FileReference):Void {
        trace("onCancel");
    }
     
    listener.onOpen = function(file:FileReference):Void {
        trace("onOpen: " + file.name);
    }
     
    listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
        trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal);
    }
     
    listener.onComplete = function(file:FileReference):Void {
        trace("onComplete: " + file.name);
    }
     
    listener.onIOError = function(file:FileReference):Void {
        trace("onIOError: " + file.name);
    }
     
    var fileRef:FileReference = new FileReference();
    fileRef.addListener(listener);
    var url:String = "http://www.macromedia.com/platform/whitepapers/platform_overview.pdf";
    if(!fileRef.download(url, "FlashPlatform.pdf")) {
        trace("dialog box failed to open.");
    }
    Mais ce code, où dois-je le mettre? Sur mon bouton?
    Sans extrait de code, ne vous attendez à aucun miracle (sauf miracle) ...

    ...et n'oubliez pas: RTFM!!

    Téléchargez FireBug pour Firefox (le paracétamol du développement web)

    "MERCI" ne coûte rien, n'hésitez pas à vous en servir!

  8. #8
    BnA
    BnA est déconnecté
    Membre averti Avatar de BnA
    Inscrit en
    Mars 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 559
    Points : 397
    Points
    397
    Par défaut
    OK c'est bon ça marche nickel...

    Pour ceux que ça intéresserait, il suffit de mettre ce code (celui du post précédent) dans un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    btn_votreBouton.onPress=function(){
    Sans oublier bien sûr de pointer vers votre fichier!

    Sans extrait de code, ne vous attendez à aucun miracle (sauf miracle) ...

    ...et n'oubliez pas: RTFM!!

    Téléchargez FireBug pour Firefox (le paracétamol du développement web)

    "MERCI" ne coûte rien, n'hésitez pas à vous en servir!

  9. #9
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 105
    Points : 64
    Points
    64
    Par défaut
    J'ai testé, je suis newbie

    Peux tu me dire pourquoi, l'option de téléchargement se fait dès que j'entre sur la page et non sur le onPress du bouton?

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [Download en Flash/Flex] problème de cache avec IE
    Bonjour,

    Voila le contexte :
    Je développe une application en Flex, et une action de l'application génère un fichier texte du coté serveur (Java, avec Tomcat). Je souhaiterais une fois cette action terminé, autrement dit une fois que le fichier coté serveur est généré, le télécharger.

    Pour cela, lorsque le fichier est généré le serveur prévient le client grâce à un message (avec le service messaging de FDS). Le client sait alors qu'il doit télécharger le fichier, disponible à telle URL. Pour le téléchargement j'utilise l'objet FileReference.

    Le problème : Tout cela fonctionne très bien sous Firefox, mais pas sous IE !
    Si je génère un fichier "toto" disponible à une URL donnée, et que par la suite je change le contenu du fichier "toto", alors, à cause du cache de IE, lorsque je téléchargerais le fichier j'aurais le contenu de l'ancienne version du fichier.

    Les solutions :

    Pour le moment j'ai une solution temporaire ou je génère un nom de fichier différents à chaque fois, ainsi il n'y a pas encore de cache, mais cette solution ne tient pas la route (je ne rentrerais pas plus dans les détails).

    Une autre solution radicale : changer l'option de IE et lui interdire de mettre en cache. Cette solution ne me convient pas non plus car l'utilisateur ne devrait pas avoir à changer les options de son navigateur.

    LA SOLUTION : ajouter des options dans le header de la requête HTTP pour lui spécifier de ne pas mettre en cache. Seulement je n'y arrive pas, voici le code qui, en théorie, devrait fonctionner :

    <code>
    var header1:URLRequestHeader = new URLRequestHeader("CacheControl", "no-cache");
    var header2:URLRequestHeader = new URLRequestHeader("Pragma", "no-cache");
    var header3:URLRequestHeader = new URLRequestHeader("Expires", "-1");

    request = new URLRequest(url); // url est l'adresse complète du fichier
    request.requestHeaders.push(header1);
    request.requestHeaders.push(header2);
    request.requestHeaders.push(header3);
    file = new FileReference();
    file.download(request);
    </code>

    Seulement, lorsque j'analyse les paquets HTTP je ne vois pas mes headers ajoutés...

    Quelqu'un a t-il déja eut se genre de problèmes ? Je suis ouvert à tout type de solutions
    Merci beaucoup pour votre aide

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [résolu] Flex download & pb de cache avec IE
    La réponse est simple : il faut mettre les options de cache dans la réponse de la requête... J'ai donc fait une servlet et cela foncitonne bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de liens sous IE
    Par bernard 92 dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 15/05/2007, 09h45
  2. Flash Div Iframe > Problème de liens !
    Par katyann67 dans le forum Intégration
    Réponses: 9
    Dernier message: 25/04/2007, 21h28
  3. Problème de lien sous certain navigateur
    Par kennyzkit dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/04/2007, 12h38
  4. problème de liens avec API sous VC++
    Par xavynfive dans le forum MFC
    Réponses: 7
    Dernier message: 26/08/2005, 12h01
  5. [DOM]Problème de liens sous ie
    Par Buster dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/05/2005, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo