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 :

Modification page Web


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut Modification page Web
    Bonjour,

    Étant Novice en java script, je crois que je vais avoir besoin d'un petit coup de main.
    Je souhaite modifier une page web avant que celle ci ne s'affiche à l'écran.
    Je veux en effet, chercher dans le body s'il ce trouve une chaine de caractère de la forme toto@mail.com. Ensuite je remplacerai ce code par une liens mailto:toto@mail.com transparent pour l'utilisateur.

    Mon problème se porte en particulier sur comment modifier la page une fois les liens préparés afin d'effectuer l'affichage.

    voici ce que j'ai pour l'instant :

    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
    29
    30
    31
    32
    33
    <html>
    <script type="text/javascript">
    	function FindString()
    	{
    		//recuperation of the HTML content page
    		/*document.all[2].outerHTML;//number of the balise, here : <body>*/
    		var htmldoc=document.getElementsByTagName("body")[0].innerHTML;
     
    		Expression = new RegExp("[a-z@.]{5,}","/g");
    		var [] tab=Expression.exec(htmldoc);
    		for(var i=0, i<tab.length(),i++)
    			replace(tab[i]);
    	}
     
    	function replace(oldstring)//oldstring represent @mail
    	{	
    			var link="mailto:";
    			var htm="<A HREF=";
    			link=link.concat(oldstring);
    			link=htm.concat(link);
    			link=link.concat("\">"+oldstring+"<\A>");
    			return link;	
    	}
     
    </script>
     
    <body onLoad="FindString()">
    salut 
    ca va 
    blabla
    <a href="mailto:toto@mail.com">toto@mail.com</a>
    </body>
    </html>

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Oula oula attends tu vas trop vite ^^
    Quelle est la source de cette page que tu veux modifier ? un site tiers que tu veux afficher en modifiant les liens mail c'est bien ça ?
    Parce que j'imagine que si c'était "ta" page, tu n'aurais pas besoin de la modifier par script à la volée, tu écrirais simplement une page modifiée, voire dynamique... ^^
    Bref, si tu veux modifier une page extérieure à ton site, tu ne pourras pas y faire référence avec un document.all[2]... *glup*

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    effectivement il semble nécessaire d'en savoir un peu plus : la page à modifier fait-elle partie de ton domaine ? Peut-on en voir le code (la syntaxe à utiliser en dépendrait) ? Quel est le but ?

    A+

  4. #4
    Membre averti
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    D'abord merci pour vos réponses et votre intéret...

    La source de la page est externe. Le but final est de créer une extension firefox, qui des qu'elle trouve un texte qui m'interesse (numero de telephone, mail ...) elle mette un lien du style mailto:@mail.

    Celà me parait de moins en moins évident.

    Je pensais récupérer la page Html lors du chargement de celle-ci et la modifier. Je ne sais pas trop comment faire. Peut être créer une page identique en local dans le dossier Temp. La nouvelle contiendrait les liens souhaités. Pour l'instant je nage un peu, et n'a vraiment pas de solution défini pour résoudre ce problème.

    Je suis donc ouvert à toutes propositions ()

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Stephane29 Voir le message
    La source de la page est externe. Le but final est de créer une extension firefox, qui des qu'elle trouve un texte qui m'interesse (numero de telephone, mail ...) elle mette un lien du style mailto:@mail.
    Mais ça sert à quoi ?

    A+

  6. #6
    Membre averti
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    Le but c'est que les gens puisse cliquer sur les mail pour lancer firefox comme ça ce fait déjà.

    de même si je souhaite personnaliser des liens.

    En gros, ce que je veux faire c'est ajouter un liens sur certain texte du body.
    Des idées?

  7. #7
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Puisque tu envisages de créer une "extension firefox", as-tu jeté un oeil chez Mozilla ? C'est très bien documenté ^^

  8. #8
    Membre averti
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    Oui j'ai déjà regarder comment faire des extensions.
    Mais dans le but de la faire, j'aimerai d'abord un javascript qui fait ce que je souhaite. Ainsi je n'aurai plus qu'à adapter en extension firefox (ce qui me parait pas trop compliqué)

  9. #9
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Il y a eu déjà pas mal de discussions (notamment très récemment) sur ces sujets dans ce forum : cherche "cross-domain" ou "same origin policy" tu devrais trouver plein de bonne lecture

  10. #10
    Membre averti
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    Tu es sur de tes mots clés?


    Tout ce que je veux faire c'est quand il y a une adresse mail, je mette un lien mailto:

    je n'ai pas trouver avec ces mots clés de chose qui s'en approche.

  11. #11
    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

    Donc, si je comprends bien, tu veux scanner un (des) site web qui ne t'appartiens pas et quand tu trouves une adresse mail, lui envoyer un mail ?
    Ah zut, je crois qu'il y a un nom pour cela...
    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

  12. #12
    Membre averti
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    Je ne veux pas du tout envoyer un mail à l'adresse lol, je ne suis pas un spammeur...

    Dans certain site, des email toto@mail.com sont présent mais ne sont pas cliquable. Mon projet serait de les rendre cliquable via mon extension firefox.

    Rien de bien méchant

  13. #13
    Membre averti
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    Je pense avoir avancé sur mes tests en local, mais ça ne fonctionne pas.
    Quelqu'un voit il une erreur dans le code suivant?
    (le but est de mettre un liens sous les numeros de telephones!
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    <html>
    <script type="text/javascript">
     
    	var a_win = window;
    	var [] tabNum;
    	var [] tablink;
    	var n=0;
     
     
    	/*
    	Use Regulary Expression to find number in page.
    	Create a tab of number present & the equivalent with link	
    	*/
    	function FindString()
    	{
    		Expression = new RegExp("[0-9]{5,}","/g");
    		tabNum=Expression.exec(a_win);	
    		if (tabNum.length!=0)
    		{
    			for(var i=0; i<tabNum.length;i++)
    			{	tabmodif[i]=CreateLink(tab[i]);//get the link to add
    				tabNum[i].replace(Expression,tabmodif[i]);
    			}
    			return true;
    		}
    		else
    			return false;		
    	}
     
    	/*
    	Create link from the number
    	*/
    	function CreateLink(oldstring)//oldstring represent Telephon Number
    	{	
    			var link="tel://";
    			var htm="<A HREF=";
    			link=link.concat(oldstring);//creation of tel://TelNumber
    			link=htm.concat(link);
    			link=link.concat("\">"+oldstring+"<\A>");
    			return link;	
    	}
     
    	/*
    	Display the page with link
    	*/
    	function Display(page)
    	{
    		document.write(page);//display the page with link	
    	}
     
    	/*
    	Main function
    	Creates the new web page to display if there is telephone number.
    	*/
    	function NewPage()
    	{
    		if (findString()==true)//Tel Number is present on the page
    		{	var MaPage="";
    			Mapage=FindString(window);
    			Display(MaPage);			
    		}
    		else return false; //no telephone number, do nothing	
    	}
     
    </script>
     
    <body onLoad="NewPage()">
    salut <br>         
    ca va  <br>       
    blabla <br>
    +330298211315<br>
    +33(0)298211315<br>
    +33 0298211315<br>
    036855<br>
    toto@mail.com<br>
    </body>
    </html>

  14. #14
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Stephane29 Voir le message
    (le but est de mettre un liens sous les numeros de telephones!

    Pour faire un "mailto:"

    Outre le fait qu'il soit difficile de voir où tu veux en venir, les formats des n° de téléphones sont loin d'être aussi stricts que pour les @ mail.
    Tu vas rencontrer de nombreux problèmes de format, et identifier comme n° de tel. des infos qui n'en seront pas ...

    A+

  15. #15
    Membre averti
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    Le problème n'est pas vraiment la reconnaissance dans un premier temps... j'affinerai au fur et à mesure mon expression régulière.

    Je n'arrive surement pas a bien m'expliquer et je m'en excuse.
    Je vais ré-essayer. j'ai développer un protocole qui ressemble au mailto:. Seulement, le miens, permet avec un hyperliens de type tel:// de faire un appel (lors du clic évidemment). Je souhaite donc trouver sur les pages web des numéros de téléphones et y insérer le lien souhaité.

    sinon, des problèmes dans mon code?? rien ne se passe au chargement de ma page.

  16. #16
    Membre averti
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    Peut être que quelqu'un saurait comment récupérer le code d'une page web dans une variable en JS??

    (je cherche dans toutes les directions :/)

  17. #17
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Stephane29 Voir le message
    Seulement, le miens, permet avec un hyperliens de type tel:// de faire un appel (lors du clic évidemment). Je souhaite donc trouver sur les pages web des numéros de téléphones et y insérer le lien souhaité.
    Une petite recherche sur le Net ("plugin skype") montre que de tels plugins existent déjà (FF et IE) ...

    A+

  18. #18
    Membre averti
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    Oui je sais, mais il me faut le développer moi même.

    Le fait que skype en est fait est juste une indication pour me dire que c'est faisable... Probleme, je sais pas encore le faire :'(

Discussions similaires

  1. [Réseau] Date de modification d'une page web distante
    Par laurent_h dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2007, 02h36
  2. Modification Automatique dans page web(2)
    Par Dehoust dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/07/2007, 07h29
  3. Modification Automatique dans page web
    Par Dehoust dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 03/07/2007, 23h17
  4. [AJAX] modification d'une page web liée à une liste déroulante
    Par carusier dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 10/05/2007, 17h37
  5. Répeter les modifications sur tous mes pages web?
    Par mamiberkof dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 19/04/2006, 09h59

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