Donnez vie à vos documents numériques !
 

Une alerte javascript, une seule !

abracadabraPDF Forums PDF – Général Une alerte javascript, une seule !

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43050
    marc
    Invité

    J’ai un PDF de 2 pages.

    Sur la première, une alerte s’affiche grâce au javascript suivant (placé sur l’action “ouverture page”):

    app.alert(“Blabla”, 3);

    Dans l’hypothèse ou le lecteur va en page 2, puis retourne sur la 1ère, évidemment, l’alerte s’affiche une 2ème fois, ce qui n’est pas bien malin. Quelle est la solution ?

    J’ai bien l’idée de mettre une variable en page 2 qui dirait quand je m’ouvre, je supprime l’affichage de l’alerte en page 1 … mais je ne sais pas comment le dire.

    Ps. A propos des alertes, il y a des méchants bugs sur Reader 6.0.0 sur windows 2000 … Du genre 2 alertes figurant sur 2 pages différentes qui s’affichent en même temps (et se retrouve nt superposées), ou les champs de texte qui deviennent inactifs…

Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Auteur
    Réponses
  • #46973
    Merlin
    Maître des clés

    Il suffit de tester l’existence d’une variable globale, du style :

    Si variable globale TOTO = indéfini

    – affiche alerte

    – affecte une valeur à TOTO

    Une fois que la var TOTO a une valeur définie, le message ne s’affichera plus (tant que Reader n’a pas été quitté/relancé).

    Si la syntaxe exacte t’intéresse, je te l’enverrais à partir de vendredi car là je suis en déplacement.

    Pour les bugs : Reader est maintenaint en version 6.1, et la réputation de Windows 2000 n’est (hélas) plus à faire…

    😉

    #46974
    marc
    Invité
    Merlin wrote:

    Si la syntaxe exacte t’intéresse, je te l’enverrais à partir de vendredi car là je suis en déplacement.

    😉

    J’ai bien compris le principe. Mais pour ce qui est de la synthaxe, c’est pas de refus. Merci O:)

    #46975
    Lionel
    Membre

    Coucou ! 🙄

    Je suis aussi preneur de ce script. :brn:

    À bientôt 8)

    Lionel.

    #46976
    Merlin
    Maître des clés

    //ne fonctionne qu’a la 1re ouverture du PDF

    if (typeof global.TOTO == “undefined”)

    {

    app.alert(“Blabla”, 3);

    global.TOTO = 1;

    }

    Où “app.alert(“Blabla”, 3);” est à remplacer par la fonction désirée.

    Il faut surtout faire attention à ne pas réutiliser le meme nom de variable (TOTO) dans plusieurs fichiers différents pour éviter les collisions. Ce qui se traduirait ici par le non-affichage de la 1re alerte lors de l’ouverture des fichiers suivants.

    La variable globale est accessible par tous les fichiers ouverts et est stockée en RAM jusqu’à la fermeture du logiciel.

    Ce script est à placer en script de document (JavaScript > Scripts JavaScript…), sur un bouton, un signet, un lien, à l’ouverture d’une page, etc. Selon l’effet désiré.

    :afro:

    #46977
    Merlin
    Maître des clés
    marc wrote:
    J’ai un PDF de 2 pages.

    Sur la première, une alerte s’affiche grâce au javascript suivant (placé sur l’action “ouverture page”):

    app.alert(“Blabla”, 3);

    Dans l’hypothèse ou le lecteur va en page 2, puis retourne sur la 1ère, évidemment, l’alerte s’affiche une 2ème fois, ce qui n’est pas bien malin. Quelle est la solution ?

    Concernant ce problème en particulier, la soluce est encore + simple : il suffit de placer la ligne de script en “script de document” (JavaScript > Scripts JavaScript…).

    Les scripts de document sont exécutés à l’ouverture du doc, pas à l’ouverture de la 1re page. Nuance !

    😉 😉

    #46978
    marc
    Invité

    Effectivement, cette dernière solution est limpide. Je croyais cette zone uniquement destinée à déclarer des fonction puisque dans la fenêtre du script, on a automatiquement “function” qui est écrit…

    Je note quand même dans mon calepin la 1ère solution : j’ai des formulaires de plus de 2 pages où des alertes doivent apparaître à plusieurs endroits. Ca me sera très utile.

    Merci !

    =D>

    #46979
    Merlin
    Maître des clés
    marc wrote:
    dans la fenêtre du script, on a automatiquement “function” qui est écrit…

    Il suffit de remplacer les lignes pré-écrites par son propre code, qui sera donc exécuté à l’ouverture du doc.

    😉

    #46980
    marc
    Invité
    marc wrote:
    Je note quand même dans mon calepin la 1ère solution : j’ai des formulaires de plus de 2 pages où des alertes doivent apparaître à plusieurs endroits. Ca me sera très utile.

    Merci !

    =D>

    Bon, j’ai testé dans le cadre du placement d’alertes sur plusieurs pages d’un même document, mais je n’y arrive pas.

    Exemple :

    – Sur action ouverture de page 2, j’ai mis le script :

    if (typeof global.TOTO == “undefined”)

    {

    app.alert(“Blabla”, 3);

    global.TOTO = 1;

    }

    – Sur action ouverture de page 3, j’ai mis le script :

    if (typeof global.TITI == “undefined”)

    {

    app.alert(“Blibli”, 3);

    global.TITI = 1;

    }

    La première alerte n’apparaît bien qu’un fois, mais la suivante n’apparaît pas du tout.

    :-k

    #46981
    marc
    Invité

    Ouh là, j’ai été trop vite, si si ça marche super bien. Je n’avais pas regardé après avoir relancé le programme.

    Merci Merlin, pas la peine de renoncer à la fée géraldine, tu peux y aller tranquille, la fleur au fusil.

    :flo: :flo: :flo: :flo: :flo: :flo: :flo: :flo: :flo: :flo: :flo: :flo:

Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.