Contourner le javascript propriétaire IE sur Francofanfic...

Si vous utilisez un autre navigateur qu'Internet Explorer ou Opera, vous avez dû constater qu'après authentification, certaines fonctionnalités de Francofanfic étaient inopérantes. La faute en incombe au code javascript chargé de modifier les styles de certains éléments de la page, code utilisant des propriétés créées par Microsoft et que son navigateur est le seul à comprendre (avec Opera qui a choisi de les implémenter).

En attendant que Ph!l modifie son code, vous trouverez ci-dessous une solution partielle pour les navigateurs basés sur Gecko : Mozilla, Netscape 6/7, Phoenix/Firebird/Firefox, et sans doute Galeon, Epiphany, Chimera/Camino et autres...

Ces navigateurs permettent en effet à leurs utilisateurs de créer une feuille de style qui supplantera celle fournie par le site visité (que les styles soit externes ou intégrés dans la page consultée). C'est cette option que nous allons utiliser. Elle marchera peut-être aussi avec Safari (voir les détails dans les archives de la mailing-list CSS-discuss)


Comment faire ?

1- Récupérez (file/save page as) cette feuille de style utilisateur.

Ne changez pas son nom, le C majuscule est important, l'extension css aussi. C'est un bête fichier texte que l'on peut modifier dans le bloc-notes.

2- Quittez votre navigateur Gecko, Quicklaunch compris si les utilisateurs de Mozilla/Netscape sous Windows l'ont activé

3- Copiez le fichier userContent.css dans le dossier chrome de votre profil Mozilla/Netscape/Firefox/Galeon/blabla. Ce dossier devrait déjà contenir des fichiers chrome.rdf, userContent-example.css et userChrome-example.css. N'y touchez pas et comme leurs noms l'indiquent, les deux derniers sont des fichiers d'exemple ;)

S'il existe déjà un fichier userContent.css, éditez-le et ajoutez :

form td div[id] {
position:relative !important;
visibility:visible !important;
}

Où sont rangés les profils ? Voir la FAQ Mozilla/Netscape 7 de Pascal Chevrel. Si vous utilisez Mozilla ou Netscape 6/7, ils sont dans un dossier Mozilla comme indiqué par Pascal (attention, sous Windows, il se trouve dans Application Data qui est un dossier caché !). Si vous utilisez Phoenix/Firebird/Firefox, remplacez Mozilla par Phoenix (Firefox maintenant ?). Si vous utilisez Galeon, bah... je sais pas... un dossier .Galeon dans $home ??? Ne vous trompez pas de dossier (ne pas copier dans le dossier chrome de l'application Mozilla/Netscape/Firefox). Si vous avez plusieurs profils, assurez vous de copier le fichier dans celui qui est effectivement utilisé par votre navigateur.

4- Relancez votre navigateur, connectez-vous sur francofanfic.com, identifiez-vous et allez dans l'Espace Auteurs. Les formulaires d'ajout de fanfic ou de chapitre devraient maintenant s'afficher !

Des copies d'écran faites sous Netscape 6.01, 6.1, 6.2.3, 7.02, Mozilla M18, 1.0.1 et 1.6, Phoenix 0.5, Firebird 0.6 et 0.7, Firefox 0.8 se trouvent dans ce dossier.

Note aux utilisateurs de Netscape Communicator 4 : Les versions 4 de Netscape ne gèrent pas les feuilles de styles utilisateurs. Cependant, la solution au problème est simplissime : une case à décocher dans les préférences et vous êtes débarrassés à la fois du javascript et des styles ("edit/preferences/advanced" et décocher "enable javascript") !

Explications

Le premier bloc de règles CSS forçait l'apparition du menu. Ph!l ayant modifié le javascript gérant cet aspect, il est désormais inutile et je l'ai donc supprimé.

div#foncA1 {
visibility:visible !important;
}

Le deuxième bloc de règles (le seul aujourd'hui) est dédié à la page d'ajout de fic et je n'ai pas forcément cherché à optimiser.

form td div[id] {
position:relative !important;
visibility:visible !important;
}

Que fait-il ? Il indique que tous les div ayant un identifiant ([id]) et descendant d'une cellule de tableau (td), elle-même descendant d'un formulaire (form) doivent être visibles et en position relative (à son parent). Le mot clé !important permet de s'assurer que ces déclarations sont prioritaires sur celles définies par l'auteur de la page.

Remarques

Note : Réparer le code javascript gérant les formulaires d'ajout de fic et de chapitre pour qu'il marche de la même manière dans les navigateurs modernes et dans IE 5.0 et supérieur revient à faire quatre recherche-remplacer. Mais c'est au webmestre de Francofanfic de faire la modification.

En savoir plus sur les feuilles de styles utilisateur :

:: retour ::

v. 1.3 - rv. 29 mars 2005 12:16