Javascript gzip

Bonjour,
j'ai un site hebergé chez un hebergeur mutualisé qui a désactivé la compression GZIP !
Est-ce possible de gzipper directement mes fichiers javascript avec 7-Zip puis de les inclure dans le html comme je ferais avec un javascript normal ?

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Ça doit être faisable mais il faudra indiquer au navigateur qu'il y a une compression via les entêtes.
    <?php 
    header('Content-Encoding: gzip'); 
    header('Content-Type: text/javascript'); 
    readfile('fichier.js.gz'); 
    ?>
    Je n'ai pas essayé mais ça devrait être ça.
    Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
    1. Je comprends pas trop où placer le code que tu m'as passé ...
      Je penchais plutot pour un:
      
      <?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
      <link rel="javascript" type="text/javascript" href="script.js.gz">
      }
      else {
      <link rel="javascript" type="text/javascript" href="script.js">
      }


      Est-ce juste ?
      1. Contributeur
        Salut.
        Je n'ai jamais testé le gzip, mais avec ce que avion-f16 à donné, je ferais un truc genre :

        jsScript.php :
        <?php 
        header('Content-Encoding: gzip'); 
        header('Content-Type: text/javascript'); 
        readfile($_GET['script']); 
        ?>
        


        et dans le html :
        <script src="jsScript.php?url=fichier.js.gz"></script>


        Après, a voir si ca fonctionne avec gzip de désactivé.

        Sinon, voila un petit lien permettant de compresser le javascript :
        http://ww25.fmarcia.info/jsmin/test.html

        Je l'ai testé, on gagne vraiment au niveau espace disque.
        1. Oui ... mais je ne sais pas si le navigateur va automatiquement comprendre que le fichier est compressé.
          1. Je suis sur un hebergement mutualisé qui a pleins de restrictions donc adieu le coup du php qui gzip le fichier javascript a la volée ! :!
            1. ini_set('zlib.output_compression_level', 8); ob_start("ob_gzhandler");

              apres le 1er <?php dans le header

              ou si tu a un site html

              <?php ini_set('zlib.output_compression_level', 8); ob_start("ob_gzhandler");?>
              et met .php a la place de .html

              et en fin mettre dans le footer <?php ob_end_flush(); ?> apres le </html>

              puis test ton site ici : http://www.testthisurl.com/