11499 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

j'ai trouvé un code sur le net pour ajouter une feuille de style en javascript mais ça ne fonctionne pas, je l'ai peut être mal utilisé, je ne m'y connais pas trop en js :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajouter une feuille de style</title>

<link href="style1.css" rel="stylesheet" type="text/css" />
</head>

<body>

<h1>Hello toto</h1>

<script type="text/javascript">
window.onload = function(){ 
	var lien_css = document.createElement('link');
	lien_css.href = "style2.css";
	lien_css.rel = "stylesheet";
	lien_css.type = "text/css";
	document.getElementsByTagName("head")[0].appendChild(lien_css);
}
</script>


</body>
</html>


Si vous voyez d'où vient le sushi Smiley cligne
Modifié par tankia (13 Sep 2013 - 11:54)
chez moi çà marche,
- rajoute éventuellement le chemin complet
lien_css.href = "./style2.css";

- vérifie que le fichier est bien enregistré en utf-8
- déplace le script à la fin du code html (après la fermeture du body)
Oui ça fonctionne bien, c'est juste moi qui me suis planté dans ma css et je ne voyais pas de changement sur la page...

Désolé pour le dérangement, le code pourra peut être servir à d'autres vu qu'il fonctionne bien Smiley cligne
Zebrou a écrit :

- déplace le script à la fin du code html (après la fermeture du body)

Je ne voudrais pas faire le chieur mais c'est juste pour dire que rien ne doit être en dehors de <body> pas même la balise <script>.
exact Smiley rolleyes , dans le body ou le head d'après la norme html, tu as raison c'est une erreur de ma part

ceci dit certains navigateurs sont permissifs et une balise script en dehors du body seront potentiellement exploitées (sous chrome par exemple)