Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/08/2011, 21h41   #1
Invité régulier
 
Inscription : mars 2009
Messages : 17
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 17
Points : 9
Points : 9
Par défaut Détection du navigateur (Firefox)

Bonjour,

Je veux faire quelque chose comme

Code html :
1
2
3
4
5
6
7
8
9
10
<html> 
 
Si (navigateur est Firefox)
<script type="text/javascript" src="/file1.js"> 
Sinon
<script type="text/javascript" src="/file2.js"> 
</script> 
 
<head> 
...

Pourriez-vous m'aider ?
Merci d'avance et bonne soirée !
Nesbit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 09h03   #2
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 618
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 618
Points : 6 238
Points : 6 238
Bonjour

Ce n'est strictement pas possible en HTML !

C'est possible via un langage coté serveur ou alors via JavaScript http://javascript.developpez.com/faq...vig#navigateur.
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS
Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
Votez pour les messages qui vous ont aidés...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/08/2011, 15h18   #3
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 776
Points : 4 776
Bonjour,
je ne pense pas que cela soit une bonne idée de vouloir inclure un fichier JS par navigateur, autant faire un code compatible, ce qui même si c'est un peu contraignant n'est somme toute plus franchement un soucis actuellement.

Mais reste à savoir quelle idée tu as derrière la tête.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 02/08/2011, 20h18   #4
Invité régulier
 
Inscription : mars 2009
Messages : 17
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 17
Points : 9
Points : 9
Bonjour,

Merci de vos réponses.
Ce sont deux fichiers de configuration d'un autre JavaScript.

Je vais essayer de faire un code compatible, comme NoSmoking a dit, c'est peut-être mieux.

Bonne journée !
Nesbit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 20h41   #5
Membre actif
 
Inscription : janvier 2007
Messages : 915
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 915
Points : 185
Points : 185
Salut, tu peux essayer d'adapter mon code pour ajouter tes scripts JS.
Moi je m'en sert pour ajouter des feuilles de style.
Ceci, a placer dans un fichier que tu nomme en .js
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function Navigateur(){
	var IE = false;
	var AUTRE = false;
	var intSplitStart = navigator.userAgent.indexOf("(",0);
	var intSplitEnd = navigator.userAgent.indexOf(")",0);
	var strChStart = navigator.userAgent.substring(0,intSplitStart);
	var strChMid = navigator.userAgent.substring(intSplitStart, intSplitEnd);
	var strChEnd = navigator.userAgent.substring(strChEnd);
	if ((strChMid.indexOf("MSIE 8") != -1) || (strChMid.indexOf("MSIE 7") != -1) || (strChMid.indexOf("MSIE 6") != -1)){
		SetCss("css/StyleIE.css");
	} else {
		SetCss("css/Style.css");
	}
}
 
function SetCss(Lien) {
	var fileref=document.createElement("link");
	fileref.setAttribute("rel", "stylesheet");
	fileref.setAttribute("type", "text/css");
	fileref.setAttribute("href", Lien);
	document.getElementsByTagName("head")[0].appendChild(fileref);
}
Ensuite dans ton header de la page web tu place :

Code :
1
2
3
<script type="text/javascript">
window.onload = function() {Navigateur();}
</script>
Voilou bon courage.
jojo86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 21h23   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
En règle générale, filtrer des fonctionnalités par la détection du navigateur est une mauvaise pratique.
En général, on préfèrera utiliser la détection de fonctionnalité.
Un exemple classique :
Code :
1
2
3
4
5
6
7
var xhr;
if(document.all){    // méthode usuelle pour détecter IE
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
else{
    xhr = new XMLHttpRequest();
}
Ici, deux problèmes se posent : document.all n'a jamais été "IE exclusive" : Opera depuis longtemps et maintenant Chrome et Safari reconnaissent cette immondice (troll inside ), mais seul IE sait instancier un activeX... c'est ballot.
D'autre part, ça fait bien longtemps qu'IE implémente son objet XMLHttpRequest... pourquoi passer par une solution bancale ?

Autres exemples, addEventListener(), getElementsByClassName(), etc. Ces méthodes sont inconnues de IE avant la version 9. Imaginons que votre code à 1 ou 2 ans.
On teste si le navigateur, si c'est IE, on passe par des méthodes propres à ce navigateur... Sauf qu'aujourd'hui, ce n'est plus vrai. En testant la fonctionnalité, on anticipe mieux les évolutions futures des navigateurs non conformes
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/08/2011, 21h37   #7
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Un petit complément d'information pour jojo86 concernant la detection d'IE.

Avec IE, nous avons les commentaires conditionnels aussi pour Javascript.

Code :
1
2
3
/*@cc_on
 {ici code interprété par IE}
@*/
Ainsi avec le code
IE voit
Les autres voient
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 21h47   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Petite rectification de sémantique
Citation:
Avec IE, nous avons les commentaires conditionnels aussi pour Javascript.
En fait, ici on parle de compilation conditionnelle.
Je sais, ça fait un peu quadripilectomie*, mais c'est toujours plaisant à rappeler pour ceux qui croient (et il y en a ) que JavaScript n'est pas compilé !

Mais sinon, oui, tu as raison, avec la capacité avec cette astuce de cibler sur le moteur JScript utiliser, qui est donc supposé définir les fonctionnalités disponibles

* coupage de cheveux en quatre, petit curieux
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h06.


 
 
 
 
Partenaires

Hébergement Web