Mes impressions sur le web, les standards et autres…


Lundi 27 octobre 2003

Consultation hors ligne

Je ne sais plus comment j’en suis venu là, mais je me suis rendu compte que si une personne tente d’enregistrer une page du site, les choses ne se passent pas tout à fait comme prévu. Sur tous les navigateurs avec lesquels j’ai testé, le comportement est plus ou moins le même : Le navigateur propose d’enregistrer la page en lui donnant pour nom son titre, et éventuellement en lui proposant de lui même l’extension .html ou .htm. D’une part, ce n’est pas très pratique (voir le titre de l’index du journal par exemple), et d’autre part, comme je le disais, certains navigateurs n’affectent ou ne proposent aucune extension au fichier (Firebird par exemple) (Ok, en fait, cela concerne uniquement les pages servies avec l’entête application/xhtml+xml. Pour les pages servies en tant que HTML, le navigateur télécharge la page et tous les éléments qui la composent), ce qui est assez génant.

Et puis je me suis rappellé de l’entête Content-Disposition. Outre la possibilité de définir comment est fourni le document (je ne vois pas d’autres façons de décrire), on peut également spécifier un nom de fichier pour le document. Ainsi, si vous enregistrez le document qui est à l’adresse http://webnaute.net/Journal/RSS, le nom de fichier par défaut que devrait vous proposer votre navigateur est "journal.rdf". Pour les pages du site, voici le code que j’utilise au moment de l’envoi des entêtes :

if( $filename == '' )
{
    $filename  = str_replace(' ', '_', trim(str_replace('/', ' ', $_SERVER['REQUEST_URI'])));
    $filename .= ( $this->output_xhtml ) ? '.xhtml' : '.html';
}

header('Content-Disposition: inline; filename="' . $filename . '"');

J’ai remarqué au passage que si la page est enregistré avec l’extension .xhtml, Firebird considèrera implicitement que le contenu est de type application/xhtml+xml (vérifiable avec click droit -> View Page Info).

PS : Dois-je préciser que IE, encore une fois, joue les trouble fêtes en ignorant complètement l’entête Content-Disposition ?

Publié à 1h07

Catégories :

Vos réactions, opinions, insultes…

Rétroliens

Faire un rétrolien sur ce billet : [xxxxxxxx]

Commentaires

Pas de commentaire actuellement

Un ch’tit biscuit ?
  • Les champs email et site sont facultatifs
  • Les URLs commençant par [protocole]://[protocole] correspond à http, https, news, irc, ftp, … sont rendues activables automatiquement. Votre adresse email ainsi que d’éventuelles adresses email présentes dans le corps du commentaire sont également rendues activables et encodées pour tromper les aspirateurs d’adresse email.
  • Pour spécifier une URL locale au site, vous pouvez utiliser local comme protocole à mettre à la place de http et omettre le nom de domaine dans l’URL.
    Exemple : local://2005/08/22/Nom-de-billet/.
  • Usez et abusez de la possibilité de prévisualiser votre commentaire pour vérifier qu’il est correctement rédigé et contient le moins possible de fautes d’orthographe. Évitez en outre le style SMS, merci d’avance. Prévisualiser votre commentaire peut également vous permettre de voir si de nouveaux commentaires sont apparus entre temps.
  • Si vous spécifiez l’adresse de votre site dans le champs texte prévu à cet effet, le script se chargera automatiquement d’aller récupérer sur votre site la langue utilisée dans vos pages, soit via l’en-tête HTTP Content-Language, soit en récupérant le contenu de l’attribut xml:lang ou lang sur l’élément html. Vous n’avez indiqué d’aucune façon la langue utilisée dans vos pages ? Corrigez ça nom di diou !
  • Des options de mise en forme des commentaires feront peut-être un jour leur apparition.


Site créé et maintenu par Aurélien Maille aka Bobe. Toutes les heures sont au format CEST.
Revenir à l’accueil – Zone de développement – Informations et accessibilité – CC licensed CC Licensed