28220 sujets

CSS et mise en forme, CSS3

Pages :
(reprise du message précédent)

Bon ben voila un exemple qui marche sous IE et FF [et surement d'autres Smiley smile ]


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

<head>
	<title>Test</title>

	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

	<style type="text/css">
		a.pouet {
			font-size:			2em;
		}
		a.external {
			background-color:	red;
		}
	</style>

	<script type="text/javascript">
	window.onload = function() {
		ExternUrl();
	}

	function ExternUrl()
	{
		var url;
		var e		= document.getElementsByTagName( 'a' );

		for (var k=0 ; k<e.length ; k++)
		{
			url = e[k].href;

			if (!(url.match(/^http:.*monsite\.fr/i) || url.substr(0,4)!='http'))
			{
				e[k].setAttribute('class' , e[k].getAttribute('class') + ' external');
				e[k].setAttribute('className' , e[k].getAttribute('className') + ' external');
			}
		}
	}
	</script>
</head>

<body>

	<p>
		Un lien <a href="truc/super.html">interne</a>
		<br />
		Un lien <a class="pouet" href="http://oulala.ouke.je.vais.comme.ca">externe</a>
		<br />
		Un lien <a href="http://oulala.ouke.je.vais.encore.comme.ca">externe</a>
	</p>

</body>

</html>

Modifié par afbilou (18 Jul 2005 - 07:21)
oops ! j'avais un peu zappé Smiley confused
Le code javascript ci-dessus ne marche pas helas, mais je devrais trouver quelque chose en php Smiley smile

Je me donc resolu Smiley cligne
Le code marche. Tu n'as pas su le faire marcher ce qui n'est pas la meme chose.

Il teste si dans l'url il y a un nom de domaine (monsite\.fr) qu'il faut adapter a ton site évidemment. Si tu testes ton fichier via un serveur local et que tu y accedes via l'adresse 127.0.0.1 ou localhaost il faudra mettre cela en filtre REGEX. Si tu testes sans serveur, depuis l'arborescence du disque dur, il faut mettre un nom de dossier commun aux urls que tu consideres internes : par exemple si tu es sur le bureau, 'bureau' semble un bon choix Smiley lol

si ca ne veut toujours pas fonctionner mets le en ligne et donne l'url pour que l'on puisse voir ce qui ne va pas car a priori ca serait le filtre REGEX sue tu aurais mal ecrit.

Voila le script tel qu'il devrait etre pour un test sur le bureau windows ! [il marche !]


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

<head>
<title>Test</title>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<style type="text/css">
a.pouet {
font-size: 2em;
}
a.external {
background-color: red;
}
</style>

<script type="text/javascript">
window.onload = function() {
ExternUrl();
}

function ExternUrl()
{
var url;
var e = document.getElementsByTagName( 'a' );

for (var k=0 ; k<e.length ; k++)
{
url = e[k].href;

if (!(url.match(/bureau/i) || url.substr(0,4)!='http'))
{
e[k].setAttribute('class' , e[k].getAttribute('class') + ' external');
e[k].setAttribute('className' , e[k].getAttribute('className') + ' external');
}
}
}
</script>
</head>

<body>

<p>
Un lien <a href="truc/super.html">interne</a>
<br />
Un lien <a class="pouet" href="http://oulala.ouke.je.vais.comme.ca">externe</a>
<br />
Un lien <a href="http://oulala.ouke.je.vais.encore.comme.ca">externe</a>
</p>

</body>

</html>

Modifié par afbilou (18 Jul 2005 - 07:27)
Pages :