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

JavaScript Discussion :

Débutant - Remplacement d'Html a la Volée


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 107
    Points : 42
    Points
    42
    Par défaut Débutant - Remplacement d'Html a la Volée
    Bonjour,

    Voila, je n'ai absolument pas le temps en ce moment de me mettre au javascript.

    J'ai juste besoin exceptionnellement d'un petit script (1 ligne s'il le faut), qui me remplacerait a la volée des urls d'une page de sorte a ce que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="monlien.html">lien</a>
    devienne a chaque fois :
    <a href="monlien.html" target="_blank">lien</a>
    Voila,
    Je vous remercie beaucoup.

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    bonjour,

    rien de plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var liens = document.getElementsByTagName("a");
    var n = liens.length;
     
    for (i=0; i<n; i++)
    	liens[i].target="_blank";
    par contre target n'est valide que pour des pages avec un Doctype HTML 4

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 107
    Points : 42
    Points
    42
    Par défaut
    Un grand merci pour ta réponse,

    Alors j'ai tester sur cette exemple concret :
    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
       "http://www.w3.org/TR/html4/strict.dtd"> 
    <html>
    <head>
    <title>Titre</title>
    <script type='text/javascript' language = 'Javascript'>
    var liens = document.getElementsByTagName("a");
    var n = liens.length; 
    for (i=0; i<n; i++)
    	liens[i].target="_blank";
    </script>
    </head>
     
    <body>
    <a href="http://www.developpez.net">Test du Lien</a>
    </body>
     
    </html>
    Mais ca ne marche pas ?, peut être qu'il faut lancer le code javascript autrement ?

    Merci

  4. #4
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    Code 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
    <head>
    <title>Titre</title>
     
    </head>
     
    <body>
    <a href="http://www.developpez.net">Test du Lien</a>
     
    <script type="text/javascript">
    var liens = document.getElementsByTagName("a");
    var n = liens.length; 
    for (i=0; i<n; i++) {
            liens[i].target="_blank";
    }
    </script>
    </body>
    </html>

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 107
    Points : 42
    Points
    42
    Par défaut
    Ok, Vraiment Super, l'exemple marche a Merveille, c'est ce que je voulais
    Merci,

    Néanmoins, pour ce que je veux faire au final, il me reste un dernier probleme.

    Exemple :
    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
       "http://www.w3.org/TR/html4/strict.dtd"> 
    <html>
    <head>
    <title>Titre</title>
    </head>
     
    <body>
    <a href="http://www.developpez.net">Test du Lien</a>
    <object data="http://www.developpez.net" type="text/html"></object>
     
    <script type="text/javascript">
    var liens = document.getElementsByTagName("a");
    var n = liens.length; 
    for (i=0; i<n; i++) {
    	liens[i].target="_blank";
    }
    </script>
    </body>
    </html>
    Le script marche a merveille pour :
    <a href="http://www.developpez.net">Test du Lien</a>

    Mais j'aimerai arrivé a le faire marché maintenant pour tous les liens contenus dans :
    <object data="http://www.developpez.net" type="text/html"></object>

    Alors je me demande même du coup si c'est possible ?, si vous pensez que non, n'hésitez pas a me le dire !

    Merci une fois de plus,
    Amicalement, ^^

  6. #6
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    je ne vois pas l'intérêt d'un lien dans une balise object

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 107
    Points : 42
    Points
    42
    Par défaut
    je ne vois pas l'intérêt d'un lien dans une balise object
    Ouaip, c'est vrai que ca peut paraitre loufoque,


    En fait je récupère une partie d'un site lambda via la balise object, (cela pourrait etre une frame ...), mais j'aimerai modifier le comportement des liens de sorte a ce que les liens

    <a href="lien.html">LienDuSiteLambda</a>
    devienne a chaque fois :
    <a href="lien.html" target="_blank">LienDuSiteLambda</a>

    Alors le script que tu m'as gentilment écrit est du pur bonheur, néanmoins je chercherai a l'appliquer au "site source" situé dans la balise object, ou limite situé dans une balise Frame.

    En quelque sorte, cela modifie le comportement du site d'origine (c'est un peu le principe du plugins greasmonkey) mais la en utilisant la page que je crée.

    Voila, alors je me demande si finallement c'est techniquement possible par programmation et comme ceci ?

    S'il vous plait ne me lache\lachez pas, et dite moi quel serait les moyens par programmation de réaliser ceci ?

    Encore un grand merci a vous.
    Alpha31

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    Il y a une solution qui consiste à récupérer en ajax la page désirée. Ainsi tu récupère le HTML et tu pourra appliquer dessus la méthode précédemment donnée. Tu peux ensuite l'intégrer dans n'importe quelle div ...

  9. #9
    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
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Alors le script que tu m'as gentilment écrit est du pur bonheur, néanmoins je chercherai a l'appliquer au "site source" situé dans la balise object, ou limite situé dans une balise Frame.
    J'imagine que tu leur a demandé leur accord avant de modifier leur code ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 107
    Points : 42
    Points
    42
    Par défaut
    J'imagine que tu leur a demandé leur accord avant de modifier leur code ?
    Hum, en fait a vrai dire pas vraiment !!!
    Est-ce illégal ?

    Du coup il va falloir que vous m'expliquez !

    Prenons un exemple simple pour l'occasion, imaginons cette page de recherche google :

    http://www.google.fr/search?hl=fr&q=...meta=&aq=f&oq=

    1 - Si je met le résultat de cette recherche dans une frame (ou en tant qu'object) sur mon site je suis dans le cadre légal ?

    2 - Si je met ce même résultat toujours dans ma frame en modifiant via ajax pour que sur chaque lien le javascript rajoute : target="_blank" : je tombe dans un cadre non légal ?

    3 - Quand est il de la légalité de tous les script Greasmonkey, ou la plus part modifie le comportement d'énormément de service en ligne ?

    Voila,
    encore merci

  11. #11
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    Bah au moins t'as pas a te prendre la tête, de frame a frame tu va pas pouvoir arriver à ce que tu veux. Tu ne peux pas modifier (ni même accéder) au contenu d'une page qui n'est pas sur le domaine parent. C'est une restriction de sécu présent sur tous les navigateurs (pour une fois qu'on a un comportement homogène sur tous les navigateurs hein :p)

    Les script GM c'est autre chose et je suppose qu'il y a une close dans les CGU...

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 107
    Points : 42
    Points
    42
    Par défaut
    Tu ne peux pas modifier (ni même accéder) au contenu d'une page qui n'est pas sur le domaine parent. C'est une restriction de sécu présent sur tous les navigateurs (pour une fois qu'on a un comportement homogène sur tous les navigateurs hein :p)
    Ok, donc si je comprend bien, >

    Il y a une solution qui consiste à récupérer en ajax la page désirée. Ainsi tu récupère le HTML et tu pourra appliquer dessus la méthode précédemment donnée. Tu peux ensuite l'intégrer dans n'importe quelle div ...
    ca ne sera de toute manière pas possible de modifier la page source (c'elle dans la frame (ou <object>)) car elle n'est pas sur le domaine parent ?

    Je veux dire par la tout le monde confirme ?

    Voila, c'est tout,
    encore merci

  13. #13
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    Le meilleur moyen de t'en convaincre est d'essayer
    Je ne me fais pas trop de soucis pour la confirmation.

Discussions similaires

  1. [débutant] relation java / html
    Par lostchina dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/12/2007, 20h41
  2. Débutant: Remplacer #ref! par 0 dans mon fichier xls
    Par billy78 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 11/06/2007, 15h41
  3. [débutant]datatable et HTML
    Par Sebeee dans le forum JSF
    Réponses: 2
    Dernier message: 14/09/2006, 13h57
  4. [Débutant] JSF et HTML
    Par Yjo dans le forum JSF
    Réponses: 4
    Dernier message: 31/08/2006, 14h27
  5. [Débutante] Remplacer la balise marquee ?
    Par silversky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/09/2005, 17h28

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