You can get different information from different parts of the world in this blog

Saturday, November 10, 2012

Cara Memperkecil atau Compress Ukuran Javascript

2:01:00 PM Posted by Unknown 5 comments
Nah, pada kecempatan kali ini saya ingin berbagi tentang cara memperkecil atau compress ukuran javascript. Cara yang digunakan untuk compress javascript ini juga tidak berbeda jauh dengan cara compress css yaitu masih menggunakan Gzip Compression. Dengan melakukan compressi javascript pada theme yang kita gunakan, dapat meningkatkan kecepatan akses pada blog kita. Tidak berbeda jauh dengan compress, yaitu dengan menggunakan fungsi Minify, Set Cache Control, eTag, Future Expiration dan Vary Encoder pada header javascript sehingga dapat memenuhi kualifikasi Pagespeed dan Yslow secara sempurna untuk javascript ini.

  • Masih sama seperti seperti posingan tentang compress css sebelum, kita buat terlebih dahulu file php pada root dimana file javascript berada  (Misal : gzip.js.php) lalu isi dengan script berikut ini :
<?php
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
ob_start("ob_gzhandler");
}
else {
ob_start();
}
//header("Content-Type:text/javascript");
// Set durasi cache untuk satu minggu
$offset = 60 * 60 * 24 * 7;
$ts = gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
// Set process cache control
header ('Cache-Control: max-age=' . $offset . ', must-revalidate');
// Set etag-header
header('ETag: "'.md5($ts).'"');
// Set expiration header format
$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s",time() + $offset) . " GMT";
// Send cache expiration header ke browser
header($ExpStr);
function compress($buffer) {
// Minify – Membuang tabs, spaces, new lines, etc.
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", '', '', ''), '', $buffer);
// Minify – membuang spasi yang tidak perlu
$buffer = str_replace('{ ', '{', $buffer);
$buffer = str_replace(' }', '}', $buffer);
$buffer = str_replace('; ', ';', $buffer);
$buffer = str_replace(', ', ',', $buffer);
$buffer = str_replace(' {', '{', $buffer);
$buffer = str_replace('} ', '}', $buffer);
$buffer = str_replace(': ', ':', $buffer);
$buffer = str_replace(' ,', ',', $buffer);
$buffer = str_replace(' ;', ';', $buffer);
return $buffer;}

define('DS', DIRECTORY_SEPARATOR);
define('PATH_ROOT', dirname(__FILE__) . DS);

$jsPath = PATH_ROOT;

include $jsPath."ry.script.js";

?>
  • Selanjutnya ubah link javascript pada theme menjadi :
<script type="text/javascript" src="gzip.js.php"></script>
Dengan cara tersebut di atas, maka ukuran javascript dapat lebih di perkecil sampai batas maksimum.

5 comments:

  1. ini buat wordpress atau blogger,

    ReplyDelete
  2. Ada yang buat blogger gak kang...

    ReplyDelete
  3. cara nemukan gzip nya dimana gan, saya masih hosting sama blogspot

    ReplyDelete

Berkomentarlah dengan baik dan sopan