Donnez vie à vos documents numériques !
 

Désactiver la navigation par touches

abracadabraPDF Forums PDF – Général Désactiver la navigation par touches

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43236
    ddurandet
    Invité

    Bonjour,

    je travaille sur des PDFs interactifs en utilisant JavaScipt.

    Du coup, je voudrais désactiver la navigation (de page en page) à l’aide des touches (flèches et page-up, down).

    Je suis presque sûr de l’avoir déjà fait, il y a quelques années pour un conte pour enfant. Mais cette fois-ci, j’ai beau chercher partout, je n’ai pas (re)trouvé l’info.

    Quelqu’un peut-il me renseigner ?

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

    Je n’ai aucune info sur le sujet, si tu en trouves ou si tu retrouves ledit conte ça m’intéressera…

    :salu:

    #47761
    Anonymous
    Invité

    Ah. Dommage :-/

    J’ai retrouvé le conte et en fait, j’avais fait quelque chose qui ne fonctionnait pas. Et puis j’ai du laisser tomber. Mais je vais repartir de l’idée. Depuis, j’ai fait quelques progrès en javascript.

    L’idée était la suivante ; avoir une variable globale “pageActive” dans laquelle est mémorisée la page active, et à l’ouverture de n’importe quelle page on relance l’affichage de la page “pageActive”.

    Comme ça dans le code avant de changer de page, il suffit de changer la valeur de “pageActive” puis de lancer son affichage.

    Là ou j’ai bloqué, c’est que j’ai d’autres actions à faire à l’ouverture d’une page… mais je ne dois pas les re-faire si je force l’affichage a rester sur la page (suis-je clair ?)

    Voilà, mais avec du courage et de l’abnégation :D je vais peut-être m’en sortir quand même.

    Qu’en penses-tu en tant que “Certified Expert” ? (moi aussi quand je serai grand j’aurai un beau titre comme ça).

    Est-ce qu’il serait plus intéressant de le faire à l’ouverture de la page ou à la fermeture ?

    #47762
    Merlin
    Maître des clés

    L’idée était la suivante ; avoir une variable globale “pageActive” dans laquelle est mémorisée la page active, et à l’ouverture de n’importe quelle page on relance l’affichage de la page “pageActive”. Comme ça dans le code avant de changer de page, il suffit de changer la valeur de “pageActive” puis de lancer son affichage.

    L’idée me semble bonne puisqu’elle a aussi l’avantage de régler le problème de la molette (sur la souris).

    Là ou j’ai bloqué, c’est que j’ai d’autres actions à faire à l’ouverture d’une page… mais je ne dois pas les re-faire si je force l’affichage a rester sur la page (suis-je clair ?)

    Je pense qu’il te faudrait utliser une 2e globale comme compteur et de l’incrémenter à chaque réaffichage de la page…

    :scra: 😉 :scra:

    #47763
    Lionel
    Membre

    Bonjour,

    💡 Il n’est pas possible de créer un script du style :

    “si appui sur telle touche alors il ne se passe rien” ?

    Je faisais cela couramment avec Hypercard ou HyperStudio (et bien souvent j’utilisai le nombre ASCII correspondant à une touche -si code ASCII = 32 alors…- pour identifier une touche pressée).

    Cordialement.

    Lionel :ali:

    #47764
    Merlin
    Maître des clés

    C’est une idée à creuser… mais personellement je n’ai pas le temps en ce moment.

    :? :sun:

    #47765
    Lionel
    Membre

    Bonjour,

    Pour info, le code ASCII :

    de la flèche vers le haut est 30

    de la flèche vers le bas est 31

    Je mettai un script contenant cela à tourner en tâche de fond… ceci court-circuitant les raccourcis claviers. Idéal pour sécuriser une création.

    PS : de la même manière, on peut rendre sans effet l’utilisation de la touche Pomme (pour éviter de quitter selon son souhait au moment que l’on veut…), Option…

    Il est aussi possible de faire afficher un message avec une validation par “OK” qui indique que l’utilisation de cette touche est sans effet (bref, inutile de continuer à essayer…).

    Lionel :ali:

    #47766
    Merlin
    Maître des clés

    Y a t’il aussi un code ASCII pour la molette de la souris ?

    :?: :?: :?:

    #47767
    Lionel
    Membre

    Bonjour,

    Bonne question; mais ceci m’étonnerait. Je n’en ai jamais entendu parler; ni vu cela dans un quelconque tableau ASCII. :-k À première vue, je dirai que le glissement de la roulette vers le haut déclenche la même action que la flèche haut (soit l’envoi du code ASCII 30).

    À essayer…

    Ligne (en javascript) du style :

    SI le code ASCII renvoyé est égal à 30 alors affiche dans une fenêtre le message “Cette touche n’est pas utilisable dans cette création.” avec “OK”.

    Attention à bien utiliser la bonne fonction ASCII; dans tous les langages, il y en a généralement deux :

    -une qui donne le code ASCII correspondant à la touche tapée

    -une qui, à partir d’un numéro ou nombre ASCII, dit à quel caractère (ou touche) cela correspond.

    Quand à ce script (une ligne par touche), il faut le faire tourner en tâche de fond en permanence (équivalent de idle ou fonction spécialisée dans Acrobat).

    Lionel. :ali:

    #47768
    Anonymous
    Invité

    Bonjour et merci à tous.

    Je vais prendre le temps de les tester tous et je vous dirai ce qui (a mon avis) fonctionne le mieux.

    Je pars avec un apriori car effectivement, la solution que j’ai proposée fonctionne aussi contre la molette, les touches page-haut page bas etc.

    D’un autre côté, surveiller les touches, ça évite de se méfier d’une ré-initialisation des pages…

    Encore merci et promis, je vous tiens au courant de mes essais.

    Didier

    #47769
    Lionel
    Membre

    Bonjour,

    Anonymous wrote:
    D’un autre côté, surveiller les touches, ça évite de se méfier d’une ré-initialisation des pages…

    Ce que tu souhaites c’est empêcher certaines actions avec les touches. Le moyen -de loin- le plus sûr est donc d’aborder le problème à la source. C’est la solution courrament utilisée, par exemple, dans les encyclopédies, les CD éducatifs…

    Une fois que tu as trouvé la bonne ligne de script pour une touche, les autres c’est un copier/coller en changeant juste le nombre ASCII.

    Anonymous wrote:
    je vous tiens au courant de mes essais.

    Une solution très fiable sera très sûrement utile à beaucoup de monde.

    À bientôt.

    Lionel :ali:

    #47770
    Anonymous
    Invité

    C’est vrai, et c’est bien pour cela que je veux regarder quand même :)

    Reste mon angoisse : la molette de la souris. La mienne n’a qu’un bouton, et encore moins molette. Du coup, pour tester ça va être dur.

    Sinon, j’ai déjà travaillé sur la version page open/page close.

    Ça fonctionne, mais… on aperçois un instant la page suivante. Du coup, j’ai mis par dessus tout un filed bouton noir, avec son display à hidden et je dois l’afficher dans le page close si l’action n’est pas faite aux boutons de navigation, puis la page suivante dans son open page, renvoie vers la page d’origine, qui a nouveau masque le champ noir.

    Ça fonctionne. Mais je ne sais pas si je suis clair. :D Ce qui est clair par contre c’est que la méthode est tordue, surtout que je ne sais toujours pas si on peut appliquer un code à tous les boutons du même nom en même temps. Donc, je galère en copier/coller. Mais je suis sûr qu’elle marche avec la molette…

    Voilà, voilà.

    Prochaine étape, donc, voir ce que ça donne avec les touches de fonction.

    Encore merci pour votre aide.

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