2009-08-05 9 views
21

J'ai essayé, sans succès, d'obtenir une page HTML pour charger un GZIP externe fichier javascript compressé à partir du système de fichiers local à l'aide d'un fichier HTML comme celui-ci:Est-il possible de charger javascript compressé gzip sans serveur web?

<html> 
<head> 
<script src="test.js.gz" type="text/javascript"></script> 
</head> 
<body></body> 
</html> 

Quand j'ouvre ce fichier HTML directement dans un navigateur, le fichier Javascript n'est pas décompressé, mais seulement inclus tel quel. Comme il n'y a pas de serveur web pour dire au navigateur que les données sont compressées, je me demandais si quelqu'un connaissait d'autres moyens de faire fonctionner une telle configuration? (le résultat final ne fonctionnera pas sur un serveur web).

Répondre

21

GZIP (de) compression de fichiers fait partie du protocole HTTP/1.1 qui n'est pas utilisé par les navigateurs pour le chargement de fichiers locaux. Donc je pense que la réponse courte est non. Pardon!

Vous pouvez utiliser des fichiers non compressés ou les décompresser avant de charger la page Web ou exécuter un démon HTTP (serveur Web) sur la machine locale qui sert les fichiers au navigateur Web.

Espérons que cela aide

+0

Tout navigateur-plugin, qui peut faire face à cela. Il serait pratique de tester des fichiers gzippés localement sans qu'un serveur web soit installé ... –

4

Non, il n'y en a pas.

Je suppose que vous faites cela pour tester - dans ce cas, ne vous inquiétez pas. Un serveur web correctement configuré va gziper les fichiers à la volée (et les mettre en cache). Vous n'avez pas besoin de créer un lien vers une version .js.gz.

+1

Donc, cela signifie que je n'ai pas besoin de changer les balises de script se référant à main.js à main.js.gz –

1

Comme AI l'a souligné, la fonction de décompression gzip n'est pas disponible pour les navigateurs Web. Vous pouvez cependant configurer des serveurs Web pour compresser les fichiers statiques à transférer. Les navigateurs Web décompresseront les fichiers de manière transparente et serviront la fonction de bande passante de sauvegarde.

Voici une référence pour la façon dont vous le faites dans Apache: http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/ Si vous êtes sur d'autres serveurs Web, vous pouvez Google it up.

Questions connexes