Comment controller le scroll d'un iframe avec javascript

Bonjour,

j'ai une petite page pour controller un iframe avec du javascript mais je n'y arrive pas, quelqu'un peut-il m'aider? merci

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    Un exemple est proposé ici : http://jsbin.com/ipujo/edit?html,js,output

    Bonne journée,
    1. Salut, merci pour la réponse,

      c'est que j'aimerais créer un racourci clavier (Ctrl + up / Ctrl +down) pour contrôler le scroll de l'iframe vers le bas ou vers le haut,

      est-ce possible avec du javascript ou bien y a-t-il un autre langage pour le faire?
    2. Le javascript semble être l'unique solution pour créer des raccourcis clavier permettant de contrôler le scroll d'une iframe.
      En javascript, tu peux utiliser les événement keydown, keyup et keypress pour détecter l'appui sur une touche, puis exécuter le code proposé ci-dessus en fonction de la touche appuyée.
      Tu peux trouver un exemple de l'utilisation de ces événements ici : https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent
    3. @Pitetsalut, merci pour le lien,

      le truc, c'est que je n'arrive pas à contrôler le scroll de l'iframe par une fonction, il paraît qu'il est impossible de contrôler l'iframe pour des raisons de sécurité de la page dans celui-ci, voilà l'erreur dans la console "Uncaught SecurityError: Blocked a frame with origine...",

      je recherche encore une solution parce qu'en programmation il n'y a rien d'impossible! :)
    4. Effectivement il s'agit d'un blocage pour des raisons notamment de sécurité si le domaine de l'iframe est différent du domaine où est inclus l'iframe.
      Il s'agit de la Same Origin Policy : https://developer.mozilla.org/fr/docs/Web/Security/Same_origin_policy_for_JavaScript

      La solution serait donc d'autoriser ton domaine dans l'entête HTTP Access-Control-Allow-Origin de l'iframe. Si tu n'as pas la possibilité d'autoriser ton domaine, il semble qu'il n'y ai pas de solution pour répondre à ton besoin.
    5. @PitetSalut Pitet!

      merci pour ta réponse, cela m'a bien aider.

      à bientot!