Le magazine des décideurs et webmasters qui gagnent !
Inscription | Livre d'or | Plan du site | 15 visiteurs actifs
   
A la Une
Actualité
Dossiers
Communiqués
Coin Technique
Agenda des salons
Emploi
Echange de liens

Archives
Sélection
Expérience qui parle
Internet quotidien
Tous les dossiers

Forum
Forum SAM-MAG

Guides
Check-list de la promotion des sites
Promouvoir et référencer les sites web

Contact
Nous contacter
Newsletter
La protection des données personnelles

  Netscape 6
Dossier "Sam L'informaticien" du 27 novembre 10 décembre par [Trucsweb] webmestre

ans l'ensemble, un site bien fait et compatible avec Netscape 4.0 ne devrait pas demander de mise à jour pour être compatible avec Netscape 6 à part le Javascript et plusieurs objets exclusifs à Internet Explorer. Quelques problèmes avec le fond et pourcentage d'une " tables " qui a d'ailleurs toujours été problématique avec Netscape.Les tests ont été effectués sur mes sites. Il se peut que vous détectiez d'autres erreurs, mes tests ne sont pas à tout épreuves, ils ont été fait en 24 heures dans le but de m'assurer que tout mes sites étaient bien compatible avec Netscape 6.

Un peu d'histoire

Depuis deux ans, Netscape à fait quelques mises à jour de son navigateur passant de Netscape Communicator version 4.0 à 4.75. Quelque temps après la vente de Netscape à AOL, j'ai eu l'occasion de tester une version " béta " de Mozilla M12 et ensuite Communicator 5.0. Vient ensuite en avril 2000, la génération Netscape 6 avec les versions Preview Release 1, 2 et enfin en septembre dernier la version Preview Release 3.

Télécharger Netscape 6

Fonctionnalités de Netscape 6
Les nouvelles fonctionnalités sont sensiblement les mêmes que la version Pre-release 3, alors je vous invite à lire mon texte sur le sujet: Netscape 6 Preview Release 3. Une option vous permet, lors de l'installation, de sauvegarder les fichiers d'installation. Très pratique quand vous désirez réinstaller Netscape. Une fois l'ouverture de votre première fenêtre, Netscape est très rapide. La différence est vraiment évidente.

Formulaires
Vous avez maintenant la possibilité de gérer les données d'un formulaire Internet. Un peu comme la gestion des mots de passe avec Internet Explorer, Netscape permet, à l'aide du bouton droit de la souris, de sauvegarder les informations entrées dans un formulaire ou de remplir un formulaire avec des données déjà enregistrées. En parlant de formulaire. Un sérieux bug, très désagréable, empêche tout changement entre les champs de saisie à l'aide de la touche de tabulation. La tabulation ne permet que de changer le focus sur une autres fenêtre Windows.

Menu déroulant
Les menus déroulants reste instable à l'image de la version 5. Ce n'est pas toujours possible de faire dérouler le menu avec la souris.

La roulette de la souris
Vous devez identifier sur quel objet la roulette de la souris agira. Dans vos préférences vous fixerez le comportement de la roulette. 3 choix sont possibles, soit; faire défiler l'historique des liens, la grosseur du texte ou le défilement de la page. Les erreurs occasionnées par un focus dans l'adresse URL ou dans un menu déroulant quand vous désirez faire défiler la page son donc impossibles avec Netscape 6.

Instabilité
Le problème de Netscape avec le Javascript et le rafraîchissement des pages n'est pas entièrement réglé. Un système qui vient à manquer de ressources peut faire entrer Netscape 6 dans une dimension paranormale. Les images réactives peuvent être longue à changer ou même disparaître complètement. Il peut recharger des boutons déjà en mémoire. Des images de fonds peuvent aussi disparaître et les hyperliens sur ancrage ne fonctionnent plus. Enfin, le fameux bug d'un code Javascript qui ne s'exécute pas suite à un rafraîchissement n'est pas encore réglé.

Pour le développeur
Netscape est très strict quant à l'interprétation du HTML, rien n'est laissé à la légère. Un mauvais code et les erreurs jusqu'alors ignorées cause de plusieurs problèmes, en particulier avec les tables. D'ailleurs, la plupart des problèmes sont reliés aux tables. L'espacement peut aussi causer des problèmes. La balise du paragraphe P, l'espace autour d'une liste, dans une cellule, autour d'une image ou d'une cellule, peut aussi causer quelques problèmes. En y regardant de plus prêt vous verrez que l'interprétation de ces balises est bien meilleure avec Netscape qu'avec Internet Explorer. Par exemple, pourquoi IE ajoute une marge autour d'une image alignée à droite ?

Les Tables
Un bon point. L'alignement dans une cellule, dont les éléments d'un formulaire occupent la même ligne, est mieux interprété par Netscape 6 que par IE. Ce n'est toute fois pas encore au point.Le pourcentage en hauteur ou l'alignement d'une table sont tout simplement ignorés quand la table est alignée avec la balise DIV.Le pourcentage est souvent mal géré par Netscape 6, je trouve des petits bugs comme par exemple une table avec un pourcentage de 100% dans une table avec une cellule à 50%. La différence est très minime mais quand il s'agit d'une image en deux morceaux ce n'est pas acceptable.L'image de fond d'une table a priorité sur la couleur de fond d'une cellule ou d'une ligne. En effet, la couleur de fond d'un cellule, quand la table à une image de fond (pas une couleur main bien une image), apparaît mais disparaît aussitôt pour faire place à l'image de fond de la table. De plus, comme les versions précédentes, la répétition des images de fond d'une table dans chaque cellule fait encore des ravages.
ATTENTION au code mal fait, en effet, une erreur fréquente est de définir une table sans ligne et colonne. Internet Explorer l'interprète correctement mais Netscape 6 ignore cette table et surtout l'alignement qu'elle peut engendrer. C'est l'erreur que je vois le plus souvent sur des sites très populaires.

Formulaires
Les formulaire sont bien plus simple à intégrer car il n'y a plus de saut de ligne avant la balise FORM et après la balise /FORM.Dans une série de boutons de sélection (radio button) un en dessous de l'autre, un texte de 1 point par exemple est plus comprimé avec Netscape 6.

Listes et retraits
Comme avec les tables, la balise DIV peut faire perdre les numéros ou les points et images (CSS) devant les éléments d'une liste.
L'espace semble aussi plus important entre le point et le texte.Il n'y a plus aucun saut de ligne avant ou après une liste ou un retrait qui n'est pas bordé par des paragraphes. Plus besoin de mettre vos listes dans une table pour empêcher ces sauts de ligne.

Sauts de ligne
Une balise de paragraphe P en haut d'un document ou d'une cellule est maintenant interprétée, ce qui n'est pas le cas avec IE.La balise BR pour un saut de ligne est maintenant interprétée à la fin d'une cellule ou d'un document.

Lignes
La couleur d'une ligne (HR) interprétée par IE n'est pas interprétée pas Netscape 6.
Images
L'utilisation d'un alignement LEFT | RIGHT avec une image sous IE ajoute une espace autour de l'image. Netscape n'ajoute quant à lui aucune espace.

Javascript, DHTML et CSS
Les différences sont très importantes et la plupart des codes de manipulation DHTML Javascript ne sont plus compatibles. En grande partie à cause du test DOM à l'aide du " document.layer ", mais aussi parce que les objets ne sont plus les mêmes. IE n'est pas tout à fait compatible DOM-1 alors que Netscape l'est. Netscape 6 est aussi compatible Javascript 1.4. Je ne vais pas entrer en détail ici sur cette problématique que je vais traiter plus tard dans la section DHTML. Pour en savoir plus, vous pouvez lire ce document: "Transitioning from Proprietary DOMs and Markup to W3C Standards"

Le DOM ou document object model est particulier à chaque navigateur mais le W3C essai de persuader les concepteur de navigateur d'utiliser son standard, soit le DOM-1 et le DOM-2.

Détection du DOM pour la compatibilité de vos codes Javascript.

Mauvaise méthode
La plupart des codes DHTML utilisent la détection d'objet pour être compatibles avec les différentes versions de navigateur. La méthode consiste à exécuter un code si un objet particulier à un navigateur existe.
Par exemple, si l'objet "document.all" existe vous savez que le navigateur est IE4 + et vous pouvez utiliser tout le DOM de IE. Si c'est l'objet "document.layers" qui est détecté c'est Netscape 4.7 et moins qui est exécuté. Et finalement "document.getElementById" indique que c'est un code des recommandations DOM-1 de la W3c, donc Netscape 5 +.

Exemple:

if (document.getElementById) { 
  // Navigateur Netscape 5 et plus et DOM-1.
} 
else if (document.layers) { 
  // Navigateur Netscape 4.7 et moins. 
} 
else if (document.all) { 
  // Internet Explorer 
} 

Cette méthode grandement utilisée n'est pas fiable à 100%. En effet plusieurs navigateurs interprètent l'objet "document.all" mais aussi "document.layers". Opera par exemple interprète les trois objets. D'autres sont compatible DOM-1 mais ne comprennent pas "document.getElementById". Cette technique n'est donc pas vraiment fiable, la seule chose que vous pouvez savoir à coup sûr c'est que le navigateur comprend l'objet en question.

Bonne méthode
La meilleure méthode consiste à faire une véritable détection du navigateur et d'initialiser des variables pour faire ensuite vos tests. Ce test de compatibilité est mis à jour continuellement par Netscape, vous n'avez donc pas à le refaire.
Code et exemple de détection:
Télécharger le fichier INCLUDE qui définit les variables. detect.js


Ajouter ce code dans l'en-tête de votre document. (attention de bien indiquer le chemin d'accès " path " du fichier detect.js).

<HEAD>
<SCRIPT LANGUAGE="JavaScript" SRC="detect.js"></SCRIPT>

<!-Interpréter le code Javascript selon le navigateur --> 
<SCRIPT LANGUAGE="JavaScript"> 
<!--
if (is_nav5up)
{
   // JavaScript Netscaper 5+
}
else if (is_nav4)
{
   // JavaScript Netscape 4
}
else if (is_ie4up)
{
   // JavaScript IE+
}
else if (is_nav3 || is_opera)
{
   // JavaScript Netscape 3 et Opera 
}
else 
{
   // JavaScript Navigator 2 et IE 3 
}
//-->
</SCRIPT>
</HEAD>

Cette méthode est de loin supérieure et vous pouvez ajouter le script de détection en fichier INCLUDE pour ainsi n'avoir qu'un seul fichier à modifier en cas d'une nouvelle version de navigateur qui demanderait une gestion personnalisée de ses objets.
Page du code de détection de Netscape
The Ultimate JavaScript Client Sniffer, Version 3.0


[trucsweb]
mailto:webmestre@trucsweb.com