cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 2015
-
17 sept. 2007 à 09:49
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
17 sept. 2007 à 15:15
Saluté ... j'ai un petit problème entre IE et FF (pour changer ... lol) j'aimerai qu'une fonction se déclenche sur l'événement onclick si on est sur FF et on mouseover si on est sur IE ... mais je ne sais pas comment faire car ma fonction est dans le tag de mon html ... je pense que c'est tout con mais je ne sais pas comment faire ... voici mon code (au passagre ça permet de faire une recherche sur une partie surlignée du texte ;) )
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
.surligne {
background-color: #ffa;
}
</style>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
<SCRIPT>
function getSelectedText(){
<script type"text/javascript">
function recherche(chaine, doc)
{
// alert (chaine);
var i=posChaine=posTag=finTag=n=0;doc1=doc2=''
//doc1 : texte avant un tag
//doc2 : texte final
// var doc = document.body.innerHTML;
el=''+chaine+''
//console.log(chaine);
//alert (chaine);
if(chaine==''){ document.body.innerHTML = docload; }
while(doc!='' && n<999)// n pour éviter la boucle infinie
{
posTag=doc.indexOf('<') //position d'un début de balise HTML
doc1=doc.substr(0,posTag) // bout de texte avant un tag
while(doc1.indexOf(chaine)!=-1 && i<99) //tant qu'on trouve une occurence de la chaine
{
posChaine=doc1.indexOf(chaine); // position occurence trouvée
doc2+=doc1.substr(0,posChaine)+el // texte avant occurence + élément ajouté
doc1=doc1.substr(posChaine+chaine.length,doc1.length) // doc1 restant
i++
}
doc2+=doc1 // on ajoute doc1 restant après la sortie de boucle
finTag=doc.indexOf('>')
doc2+=doc.substring(posTag,finTag+1) // ajoute le tag
doc=doc.substr(finTag+1,doc.length) //reste du texte
n++
}
document.body.innerHTML=doc2+doc // complète avec le reste de texte
}
</script>
</head>
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
<script>
var docload = document.body.innerHTML;
//recherche('i', docload);
</script>
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 17 sept. 2007 à 10:10
bonjour,
>>j'ai un petit problème entre IE et FF (pour changer ... lol)
hélas...
>>une fonction sur l'événement onclick si on est sur FF
et on mouseover si on est sur IE .
mais là... tu le cherches... non ?
quelle idée ?
à priori, il faut mettre les 2 évènements et dans chaque tester avec quel navigateur on est.
ou alors regarder du coté de "l'interprétation conditionnelle" en html
<!--[if IE]>
tout ce qu'on veut, qui ne sera exécuté qu'avec IE
<![endif]-->
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 17 sept. 2007 à 11:15
lol
merci pour les réponses... ben en fait si tu teste le code sur les deux navigateurs tu vas voir qu'il se comporte bien selon l'événement choisi... sur FF par exemple si je lance ma fonction sur le onmouseup elle s'exécute mais après il me surligne le texte depuis le début alors que mon bouton de souris est relaché ... donc bug
sur IE c'est l'inverse ... je ne peux plus sélectionner de texte ... donc je vais essayer en conditionnel html ... je vois que ça pour le coup
thx
@+
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 17 sept. 2007 à 11:18
voila comme ça ça marche à peu près bien ... au passage si tu as une idée de comment gérer les saut de ligne dans la récupération de la sélection :) je suis prenneur :) :) :)
@+ et merci
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
.surligne {
background-color: #ffa;
}
</style>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
<SCRIPT>
function getSelectedText(){
<script type"text/javascript">
function recherche(chaine, doc)
{
// alert (chaine);
var i=posChaine=posTag=finTag=n=0;doc1=doc2=''
//doc1 : texte avant un tag
//doc2 : texte final
// var doc = document.body.innerHTML;
el=''+chaine+''
//console.log(chaine);
//alert (chaine);
if(chaine==''){ document.body.innerHTML = docload; }
while(doc!='' && n<999)// n pour éviter la boucle infinie
{
posTag=doc.indexOf('<') //position d'un début de balise HTML
doc1=doc.substr(0,posTag) // bout de texte avant un tag
while(doc1.indexOf(chaine)!=-1 && i<99) //tant qu'on trouve une occurence de la chaine
{
posChaine=doc1.indexOf(chaine); // position occurence trouvée
doc2+=doc1.substr(0,posChaine)+el // texte avant occurence + élément ajouté
doc1=doc1.substr(posChaine+chaine.length,doc1.length) // doc1 restant
i++
}
doc2+=doc1 // on ajoute doc1 restant après la sortie de boucle
finTag=doc.indexOf('>')
doc2+=doc.substring(posTag,finTag+1) // ajoute le tag
doc=doc.substr(finTag+1,doc.length) //reste du texte
n++
}
document.body.innerHTML=doc2+doc // complète avec le reste de texte
}
</script>
</head>
<!--[if IE]>
<![endif]-->
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
un texte qui ne sert à rien d'autre qu'à illustrer la fonctionnalité de ce script
<script>
var docload = document.body.innerHTML;
//recherche('i', docload);
</script>
</html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 17 sept. 2007 à 14:30
en gros quand tu surligne un mot dans du texte.. automatiquement tous les mots identiques vont se surligner en jaune dans la page ... ça sert à mettre en avant facilement certains éléments dans une liste de référence par exemple ... ;) c'est un goodies quoi :)
@++
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 17 sept. 2007 à 15:15
>>quand tu surligne un mot dans du texte..
>>automatiquement tous
les mots identiques vont se surligner en jaune dans la page
ah... pas mal, l'idée...
mais pas de raisons de ne pas pouvoir faire fonctionner
de la même manière avec IE et FF.
dans les exemples "recherche dans la page", tu devrais trouver ton bonheur.
( surlignage compris )