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

jQuery Discussion :

Accès au contenu html d'une page embarqué


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut Accès au contenu html d'une page embarqué
    Bonjour.
    Je cherche à embarquer une page html et de la manipuler.
    Actuellement, ce qui me semble le plus propre est l'utilisation de la balise OBJECT.
    En gros, j'ai une page html locale (sur un pc) qui va embarquer une page web (donc sur un domaine précis) et la manipuler.

    Malheureusement, je n'arrive pas à manipuler le DOM de la page embarqué.

    quelques questions :
    1- es ce possible?
    2- comment permettre à JQuery l'accés au DOM de la page embarqué?


    merci

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2004
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 291
    Par défaut
    Bonjour Yan,

    le chemin dom vers ta page embarquée est correct, c'est çà ?
    Sinon, pour en être sur, vois un peu avec l'inspecteur de Firebug.

    Après, je ne sais pas si c'est possible vraiment techniquement mais vérifions déjà si l'accès au chemin est correct.

  3. #3
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par gui80 Voir le message
    Bonjour Yan,

    le chemin dom vers ta page embarquée est correct, c'est çà ?

    Sinon, pour en être sur, vois un peu avec l'inspecteur de Firebug.

    Après, je ne sais pas si c'est possible vraiment techniquement mais vérifions déjà si l'accès au chemin est correct.
    la page est bien embarquée.
    Firebug et chrome montre bien le dom de la page dans la balise object.

    Mais je n'arrive pas à manipuler ce dom. Par exemple cacher un div.

    ps: je suis assez novice en dev html.

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2004
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 291
    Par défaut
    D'accord.

    Donc, quand tu veux modifier un style à la volée avec firebug dans la page embarquée, çà ne prend pas alors que dans la page conteneur, le même type de style changé à la volée fonctionne, c'est çà ?

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par gui80 Voir le message
    D'accord.

    Donc, quand tu veux modifier un style à la volée avec firebug dans la page embarquée, çà ne prend pas alors que dans la page conteneur, le même type de style changé à la volée fonctionne, c'est çà ?
    Avec firebug, je peut manipuler la page embarqué.
    Avec JQuery, j'arrive a manipuler le DOM de la page principale, mais pas celle de la page embarqué.

    Es ce que le fait que la page et la page embarqué ne sois pas sur le même domaine peut poser problème?

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    En gros, ce que je cherche à faire :
    1- avoir une page web avec des fonctionnalité simple
    2- créé une autre page html qui va embarquer cette page pour ajouter des fonctionnalités et la manipuler.

    Je sais que c'est un peu bizarre comme besoin.
    Mais je fais une recherche de faisabilité.
    Si ce n'est pas possible, il va falloir que je m'interface au webkit (java, objective C et Qt) pour manipuler cette page. Et c'est un peu dommage de réécrire trois codes différent pour faire la même chose. Si je pouvais le faire en html, cela simplifie les choses.
    La seule contrainte, c'est que cette page doit être sur un domaine.

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par yan Voir le message
    Bonjour.
    Je cherche à embarquer une page html et de la manipuler.
    Actuellement, ce qui me semble le plus propre est l'utilisation de la balise OBJECT.
    En gros, j'ai une page html locale (sur un pc) qui va embarquer une page web (donc sur un domaine précis) et la manipuler.

    Malheureusement, je n'arrive pas à manipuler le DOM de la page embarqué.

    quelques questions :
    1- es ce possible?
    Non, il n'est pas possible en JavaScript de manipuler le DOM d'un contenu hors domaine, voir la Same Origin Policy.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Non, il n'est pas possible en JavaScript de manipuler le DOM d'un contenu hors domaine, voir la Same Origin Policy.
    merci. C'est ce que je viens de trouver.
    http://docstore.mik.ua/orelly/webpro...pt/ch21_03.htm

    Y as des solution avec du gros hack ou j'ai rien compris. Comme c'est du hack, je vais pas m'y aventurer
    http://ajaxify.com/run/crossframe/

    Si les deux pages sont sur le même domaine es ce que c'est possible avec un tag object au lieu de iframe.
    Voici ce que j'ai fait qui marche si les deux fichiers sont sur le même domaine

    Code index.html : 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
    <html>
    	<head>
    		<script type="text/javascript" src="jquery-1.4.1.min.js"/>
    		<script type="text/javascript">
    			function b1()
    			{
    				$('#frame').contents().find('h2').hide("slow");
    			}
     
    			function b2()
    			{
    				frame.hello();
    			}
    		</script>
    	</head>
    	<body>
    		<iframe SRC="test.html" id="frame" name="frame"></iframe><br/>
    		<button onclick="b1()">hide</button>
    		<button onclick="b2()">show</button>
    	</body>
     
    </html>

    Code test.html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <html>
    	<head>
    		<script type="text/javascript" src="jquery-1.4.1.min.js"/>
    		<script type="text/javascript">
    		function hello()
    		{
    				$("h2").show("slow");
    		}
    		</script>
    	</head>
    	<body BGCOLOR="red">
    		<h2>hello</h2>
    	</body>
    </html>
    test.html affiche "hello" dans une balise h2 et possède une fonction pour le rendre visible.

    index.html embarque test.html dans une iframe et utilise deux bouton:
    1. hide : accède au dom de test.html pour y appliquer un hide
    2. show : appel la fonction définie dans test.html


    Ca marche donc avec une iframe mais pas avec un object. De ce que j'ai vue iframe c'est le mal. Et la page est bien mieux intégré avec object.

    Apparemment, ca marcherais aussi avec les frames et en utilisant parent.

  9. #9
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Voir load() http://api.jquery.com/load/

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message
    Bonsoir.

    Voir load() http://api.jquery.com/load/
    j'avais testé mais cela ne fait que charger le html est l'appliquer telle quel(le texte). Il n'y as aucune prise en compte du javascript et du style.

  11. #11
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Ce que l'on charge peut avoir sa propre feuille de style et son jQuery. Il est également possible d'intervenir depuis le HTML parent.

    Il y a déjà eu des exemples pour iframe et pour le chargement de division sur le forum.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  12. #12
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Je n'ai pas fait un test, mais...

    Citation Envoyé par Bovino Voir le message
    Non, il n'est pas possible en JavaScript de manipuler le DOM d'un contenu hors domaine, voir la Same Origin Policy.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  13. #13
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message
    Bonsoir.

    Je n'ai pas fait un test, mais...
    ok c'était pour être sur d'avoir bien compris

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modifier le contenu HTML d'une page d'InstantForum
    Par Juju54350 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 08/10/2010, 14h57
  2. Recuperer le contenu HTML d'une page web avec FLEX
    Par kididouille dans le forum Flex
    Réponses: 0
    Dernier message: 02/06/2010, 15h45
  3. Extraire le contenu de balises HTML d'une page WEB
    Par sephyroth69 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 21/01/2010, 21h32
  4. implenter contenu d'une page html dans une page flash
    Par zouuc dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 01/04/2009, 14h28
  5. [Système] Récupérer le contenu HTML d'une page Web
    Par zah.hicham dans le forum Langage
    Réponses: 7
    Dernier message: 13/02/2008, 03h53

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