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
|