code-tutorial.com

The best resources for developers

How do I make the browser see CSS and JavaScript changes?

function urlmtime($url) {
   $parsed_url = parse_url($url);
   $path = $parsed_url["path"];

   if ($path[0] == "/") {
       $filename = $_SERVER["DOCUMENT_ROOT"] . "/" . $path;
   } else {
       $filename = $path;
   }

   if (!file_exists($filename)) {
       // If not a file then use the current time
       $lastModified = date("YmdHis");
   } else {
       $lastModified = date("YmdHis", filemtime($filename));
   }

   if (strpos($url, "?") === false) {
       $url .= "?ts=" . $lastModified;
   } else {
       $url .= "&ts=" . $lastModified;
   }

   return $url;
}

function include_css($css_url, $media="all") {
   // According to Yahoo, using link allows for progressive 
   // rendering in IE where as @import url($css_url) does not
   echo "<link rel="stylesheet" type="text/css" media="" .
        $media . "" href="" . urlmtime($css_url) . "">"."
";
}

function include_javascript($javascript_url) {
   echo "<script type="text/javascript" src="" . urlmtime($javascript_url) .
        ""></script>"."
";
}

Tags: javascript css caching http

Source: By grom as answer to the question

This code snippet was collected from stackoverflow, and is licensed under CC BY-SA 3.0


Related code-snippets: