'j@c oct 2003 http://jacxl.free.fr Msgbox("Le programme génère un vbs qui va forcer le navigateur à ouvrir une page Web, et à en modifier un des lien pour le faire pointer vers une page virtuelle qui est incluse dans le lien modifié sous forme de javascript") 'choix des paramètres page_a_modifier=inputbox("saisissez l'adresse de la page Web sur laquelle vous voulez modifier un lien","page à modifier","http://www.boursorama.com/") if page_a_modifier="" then wscript.quit numlien=1*inputbox("indiquez le numéro d'ordre du lien à modifier dans la page" & chr(10) & "(indiquez 2 pour modifier le deuxième lien de la page)","choix du lien","9") if numlien="" then wscript.quit txt_lien=inputbox("saisissez le nouveau texte du lien","nouveau lien","nouveau lien") 'nouveau texte du lien if txt_lien="" then wscript.quit cibl=inputbox("saisissez l'adresse de la page web vers laquelle le nouveau lien doit pointer", "cible du nouveau lien","http://www.boursorama.com/infos/actualites/actu_societes.phtml") if cibl="" then wscript.quit fich_vbs=inputbox("saisissez l'adresse (locale) où le nouveau fichier vbs doit être enregistré","fichier vbs","C:\rien.vbs") if fich_vbs="" then wscript.quit 'crée un fichier fich_vbs qui ouvre page_a_modifier (la page doit préalablement être téléchargée en local, attention aux redirections) et en modifie le lien n° numlien 'en lui attribuant comme texte txt_lien 'et en le faisant pointer vers une page virtuelle 'la page virtuelle est une copie vbs de cibl, ses liens pointent sur base 'récupération du code de la page cible (ouverture dans une instance masquée d'internet explorer) Set ie = CreateObject("internetexplorer.application") ie.Navigate (cibl) Do While ie.Busy wscript.sleep (100) Loop wscript.sleep (1000) Set dct = ie.Document txt= dct.getElementsByTagName("HTML").item(0).outerhtml 'recherche de la base des liens relatifs éventuels base=ie.document.location do while right(base,1)<>"/" base=left(base,len(base)-1) loop 'fermeture d'internet explorer (instance masquée) ie.quit 'modification de la balise HEAD pour lui ajouter la base des liens relatifs txt_head="" & vbcrlf & "" & vbcrlf if instr(ucase(txt),"" txt=replace(txt,"",txt_head) txt=replace(txt,"",txt_head) 'remplace ' par ' et guillemets par \" txt=replace(txt," ","") txt=replace(txt," "," ") txt=replace(txt,"'","'") txt=replace(txt,"""","\""""") txt=txt & vbcrlf 'création du fichier vbs Set fs = CreateObject("Scripting.FileSystemObject") Set nouv_fich = fs.OpenTextFile(fich_vbs, 2, true) nouv_fich.writeline "'fichier vbs réalisé à partir d'un logiciel tiré de http://jacxl.free.fr" 'ouverture de la page web à modifier nouv_fich.writeline "Set ie = CreateObject(""internetexplorer.application"")" nouv_fich.writeline "ie.Navigate (""" & page_a_modifier & """)" nouv_fich.writeline "Do While ie.Busy" nouv_fich.writeline "wscript.sleep (100)" nouv_fich.writeline "Loop" nouv_fich.writeline "wscript.sleep (1000)" nouv_fich.writeline "Set dct = ie.Document" 'recherche du lien numéro numlien nouv_fich.writeline "set anc=nothing" nouv_fich.writeline "set anc=dct.getElementsByTagName(""A"").item(" & numlien-1 & ")" nouv_fich.writeline "if anc is nothing then" nouv_fich.writeline "msgbox(""la page n'est pas accessible"")" nouv_fich.writeline "ie.quit" nouv_fich.writeline "wscript.quit" nouv_fich.writeline "end if" 'création de la page virtuelle (txt est le code de la page) nouv_fich.writeline "txt=""""" do while instr(txt,vbcrlf)>=1 nb=2 num=instr(txt,vbcrlf) if instr(txt,chr(10))" & txt_lien & ""","" onclick='document.write("""""" & txt & """""");return(false)'>" & txt_lien & """)" 'afficher la page nouv_fich.writeline "ie.Visible = True" 'fermer le vbs nouv_fich.close set nous_fich=nothing set fs=nothing msgbox "le fichier vbs a été enregistré sous " & chr(10) & """" & fich_vbs & """" & chr(10) & chr(10) & "il suffit de modifier ce fichier pour modifier le contenu de la page visée par le nouveau lien."