Partage
  • Partager sur Facebook
  • Partager sur Twitter

Transmettre un objet javascript entre pages html

    27 mai 2017 à 9:11:17

    Bonjour,

    Je débute en javascript. Je crée un dessin dans un canvas html5 via des méthodes javascript disposées dans un fichier .js. Le dessin marche très bien.

    Puis je fais un JSON pour sauvegarder le dessin. En interne, en appelant l'instance du tableau .js crée par le canvas, cela marche bien.
    Par contre si j'appelle les méthodes donner ou restituer le JSON depuis un formulaire situé dans une autre page html, (dans un iFrame sur le côté du dessin en fait) une autre instance des valeurs .js sont crées, et le formulaire reçoit un tableau vide au lieu de recevoir le tableau du canvas bien évidemment!.

    J'imagine qu'il faut utiliser par exemple :

    var vacan = document.getElementById("canvas");

    Mais ensuite? J'ai essayé différentes choses, imaginé mettre quelque chose en plus dans la déclaration du canvas (en plus de ceci) :

    <canvas id="canvas" width="800" height="600" style="background:#FFFFFF" onmouseover = "updateCorrPosition()"
    	onmousemove = "deplaceSouris(event)"  onmouseup = "leveSouris(event)" onclick = "clickPourSouris(event)"
    	onmouseleave = "sorsSouris(event)" onmousedown = "appuiSouris(event)"//tout ceci OK
    value = "donneleJson()>//tentative désespérée vouée à l'échec!

    J'ai essayé "value = "donneleJson()"  par exemple sans succès.

    Auriez-vous une idée? C'est bête parce que sinon, mon premier javascript/php marche super!! Merci par avance pour votre aide!


    • Partager sur Facebook
    • Partager sur Twitter
      27 mai 2017 à 11:27:56

      Hello,

      Tu pourrais utiliser le webStorage pour stocker ton Json 

      -> https://www.alsacreations.com/article/lire/1402-web-storage-localstorage-sessionstorage.html 

      Tu as un exemple pour ton json en bas de l'article.

      -
      Edité par Lucky13 27 mai 2017 à 11:29:09

      • Partager sur Facebook
      • Partager sur Twitter
        27 mai 2017 à 13:02:46

        Ouah! ça, c'est un super lien!

        Merci beaucoup, j'essaie cela de suite et je vous tiens au courant.

        Merci beaucoup! 

        • Partager sur Facebook
        • Partager sur Twitter
          27 mai 2017 à 13:48:48

          Lis bien l'article pour choisir en session et local. Avec localstorage, même si tu ferme le navigateur ton json sera encore disponible.

          Une fois en storage, une simple vérification de son existence (et != Null  si besoin) avant de l'utiliser suffit. Si l'objet est absent c''est que le visiteur la supprimé manuellement ou effacer tout via une extension.

          • Partager sur Facebook
          • Partager sur Twitter
            27 mai 2017 à 16:11:10

            Cela fonctionne très bien. J'ai utilisé localstorage.

            Tant que j'y suis : une liste déroulante dans l'iframe permet de sélectionner le json, puis j'ai mis un bouton dans la fenêtre principale pour utiliser le localstorage.

            Y aurait-il quelque chose comme une notification que l'iframe pourrait adresser et que la fenêtre principale traiterait pour rendre cette procédure automatique? Je ne suis pas certain que WebWorker fonctionnerait...

            Merci mille fois en tous les cas Lucky13 pour tes posts (oh, un autre fan du Pink Floyd!  ;)  )

            • Partager sur Facebook
            • Partager sur Twitter
              27 mai 2017 à 16:29:08

              je n'utilises jamais d'iframe (je déteste) sauf si j'ai besoin de map.... je suis donc mal placé pour te répondre. Mais il y certainement une solution oui, il faut tester.

              Crées un autre sujet pour ce point serait plus pertinent, tu auras de meilleurs réponses que la mienne...

              ps: Oui je suis assez fan (pour x raisons) j'avoue ;)

              • Partager sur Facebook
              • Partager sur Twitter

              Transmettre un objet javascript entre pages html

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown