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

Java Discussion :

java, et interpretation de javascript


Sujet :

Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut java, et interpretation de javascript
    Bonjour,

    J´espère tout d´abord ne pas m´être trompé de forum/section.
    J´aurais besoin d´un coup de pouce. En effet, après pas mal de recherche, je pense avoir une réponse à ma question, mais on est jamais trop sur ! ;-)

    En fait, je souhaiterai pouvoir interpréter le résultat d´une requette HTTP au sein d´un programme en Java. Le but de la manipulation serait de pouvoir "parser" la page en question, après son interprétation puisque celle-ci est construite par les différents scripts en AJAX, donc exécuter sur par le navigateur client en temps normal... Bien sur, la page en question, n´est pas modifiable ! (cela serait beaucoup trop drôle ;-)

    Voila, je voulais savoir si il était donc possible de faire appel à un interpréteur de Javascript (externe ?) me permettant d´interpréter cette page avant de la parser.

    Merci d´avance pour vos avis et vos coups de pouces.

    Boob

  2. #2
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonjour,
    je croies avoir compris la problématique, mais a ma connaissance je ne pense pas que ca soit possible d'interpreter le javascript cote serveur. En effet il existe Rhino un interpreteur Javascript ecrit en JAVA qui fonctionne tres bien. Mais le probleme est lie au contexte, car l'objet document, window n'existe pas dans Rhino.

    Et comme tu utilises AJAX pour mettre a jour le DOM de ta page (du style document.getElementById('...').appendChild(.....)), c'est la ou ca va coincer car l'objet document il faut que tu le gere toi meme (il faut que tu charges dans un DOM Xerces (par exemple) ta page et que tu le passe au contexte Rhino mais si ta pages n'est pas du XHtml, c'est pratiquement impossible).

    Donc le plus simple est de laisser le navigateur creer le DOM HTML, et apres voir en javascript (si c possible de recuperer le contenu de la page (avec un innerHTML (sous IE) ou un truc du genre). Et ensuite creer un formulaier qui envoie ce contenu (mais bon je ne sais pas si ca repond a ta problematique)

    Bon courage

    Angelo

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Tout d´abord, merci pour la réponse rapide ! J´avoue ne pas être sur de tout comprendre. La première solution me parait relativement difficile à prendre en main, et je pense que la seconde nécessite de modifier la page source (si j´ai bine compris) afin d´utiliser le Javascript pour récupérer le contenu de la page et le renvoyer vers une autre application/page...

    Pour être sur de bien préciser le contexte, en fait, j´utilise les API Google map pour générer une suite de direction a prendre pour aller d´un point à un autre. Celles-ci sont générer sur le navigateur à la volé en AJAX par le javascript embarqué dans la page HTML. Je souhaite récupérer ces infos que je voudrais envoyer vers une appli sur un portable/PDA. Je pense donc que ce que je cherche est un moteur de rendu en java embarquable dans mon appli (côté serveur). En gros, je veux "juste" récupérer le HTML produit par l´AJAX !

    Encore merci Angelo pour ta réponse rapide.

    Boob

  4. #4
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonjour,
    Tout d'abord je m'excuse de t'avoir noyer dans mes explications tres techniques.

    Je ne comprends pas tres bien ton besoin. Tu veux recueperer les informations des evenements utilisateurs (direction qu'il choisit) et les envoyer au PDA ou tu veux recuperer le HTML genere pour ensuite afficher le HTML dans un portable/PDA?

    Si c'est le premier cas, tu pourrait etudier l'API Google et voir comment au niveau serveur on peut capturer les evenements AJAX pour les envoyer au PDA.

    Si c'est la deuxieme solution, il faut avoir un navigateur pour interpreter le AJAX. Peut etre qu'une solution simple serait d'heberger ton application sur un serveur standard et ensuite les PDA se connecte par VNC sur un poste.

    Autrement faudrait etudier les Browser Java existant. Apres une recherche rapide sur google il y a lobobrowser,
    webrenderer

    Peut etre que je raconte n'importe quoi et que je suis a cote de la plaque, mais bon j'espere que mes idees pourront t'aider.

    Bon courage

    Angelo

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonsoir Angelo.

    Tout d´abord, merci pour tes réponses et tes conseils très précieux ! J´ai jeter un coup d´oeil vers LoboBrowser, et je suis tomber sur Cobra, le toolkit de Lobo qui permet de faire se que je veux (recuperer les sources HTML/Javascript d´une page, et de les parser en tenant compte du javascript inclus...) Cela me permet donc de travailler avec le DOM complet de la page, qui est donc construite en AJAX... Malheureusement, la page en question utilise les API Google Maps, et ces Javascript semble trop complexe pour le moment pour etre correctement interpréter par Cobra (Utilisant en sous couche Rhino !)

    Je vais jeter un coup d´oeil vers la version CVS hébergée sur sf.net pour voir si celle-ci est plus récente que la version actuelle stable du projet.

    Voila, encore merci bcp pour tes indications et tes liens !

    Booboule

    PS : Si jamais tu connais d´autre toolkit comme Webrenderer et Cobra, je suis preneur quand même ! ;-)

  6. #6
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonjour,
    je susi content que mes remaqrues aient pu t'aider.

    Je n'ai jamais utiliser les browser Java, je te les avait donne apres une recherche rapide sur Google.

    Quand tu dis Javascript qui semble trop complexe,tu peux savoir quel sont les ereurs javascript. As tu verifie que tu as acces au objets window, document, XMLHttpRequest...?

    Parce que par exemple XMLHttpRequest (Ajax) n'est peut etre pas implemente, et c pour ca que ca ne marche pas. Concernant mon projet Akrogen, je suis en train d'implementer le XMLHttpRequest (qui fonctionne avec Rhino) , peut etre que ca pourrait t'aider.

    Angelo

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Voici les erreurs reportées par Eclipse lorsque je t´entre d´ouvrir une page dans laquelle je fais appel au API Google Maps...

    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
    WARNING: executeFunction(): There was an error in Javascript code.
    org.mozilla.javascript.EvaluatorException: Constructor for "String" not found. (http://maps.google.com/?file=api&v=2.x&key=ABQIAAAA4FkQRbNNH7uw1y8oy8PUoRS6WE_aSpd0UfDzxTevBhBu6f6vLRQg5YDBLwMFQN2RpTC8bEUy8cPEJg#1)
    	at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:98)
    	at org.mozilla.javascript.Context.reportRuntimeError(Context.java:966)
    	at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1022)
    	at org.mozilla.javascript.Context.reportRuntimeError1(Context.java:985)
    	at org.mozilla.javascript.ScriptRuntime.getExistingCtor(ScriptRuntime.java:1122)
    	at org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime.java:922)
    	at org.mozilla.javascript.ScriptRuntime.toObject(ScriptRuntime.java:882)
    	at org.mozilla.javascript.ScriptRuntime.toObjectOrNull(ScriptRuntime.java:842)
    	at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:1967)
    	at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:2932)
    	at script.GBrowserIsCompatible(http://maps.google.com/?file=api&v=2.x&key=ABQIAAAA4FkQRbNNH7uw1y8oy8PUoRS6WE_aSpd0UfDzxTevBhBu6f6vLRQg5YDBLwMFQN2RpTC8bEUy8cPEJg:1)
    	at script.initialize(http://www.ece.fr/~dagouat/aau/test2.html:9)
    	at script.onload_32689826(body[null].onload:1)
    	at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2251)
    	at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:161)
    	at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:340)
    	at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2758)
    	at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:159)
    	at org.lobobrowser.html.js.Executor.executeFunction(Executor.java:71)
    	at org.lobobrowser.html.js.Executor.executeFunction(Executor.java:52)
    	at org.lobobrowser.html.domimpl.HTMLDocumentImpl.setUserData(HTMLDocumentImpl.java:1086)
    	at org.lobobrowser.html.parser.HtmlParser.parse(HtmlParser.java:385)
    	at org.lobobrowser.html.parser.HtmlParser.parse(HtmlParser.java:350)
    	at org.lobobrowser.html.domimpl.HTMLDocumentImpl.load(HTMLDocumentImpl.java:357)
    	at org.lobobrowser.html.domimpl.HTMLDocumentImpl.load(HTMLDocumentImpl.java:337)
    	at org.lobobrowser.html.test.SimpleHtmlRendererContext$1.run(SimpleHtmlRendererContext.java:270)
    Je suppose d´après celle-ci que les erreurs proviennent de Rhino, mais je ne saurais pas en dire plus sur celles-ci... Si cela te parle... ;-)

    Encore merci pour ton aide !

    Boob

Discussions similaires

  1. Java est mort et JavaScript pourrait remplacer Flash pour les développeurs, qu'en pensez-vous ?
    Par Katleen Erna dans le forum Débats sur le développement - Le Best Of
    Réponses: 138
    Dernier message: 18/10/2013, 11h52
  2. JSP : mettre du code java dans une fonction javascript
    Par padraig29 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/08/2010, 10h07
  3. Communication entre Java et : PHP ou Javascript?
    Par benthebest dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2009, 20h02
  4. jsp java script reset en javascript
    Par mimilemoose dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/12/2008, 15h35
  5. [Web Service] Web service en Java et client en JavaScript
    Par nico01984 dans le forum Services Web
    Réponses: 2
    Dernier message: 16/03/2007, 11h18

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