title: Ignore Cloudflare Automatic RocketLoader for specific JavaScript
body: <p>I need to disabled Cloudflare Rocketloader for a specific JavaScript file and I have spent a few hours reading and trying out different solutions with no success. I am running WordPress and need to omit the Automatic Rocket Loader for a specific .js file. </p>
  
  <p>Plugging this recommended code into my theme functions.php throws the following error. </p>
  
  <p>Script Url: example.com/wp-content/plugins/waveplayer/assets/js/waveplayer.js</p>
  
  <p><strong>Code in functions.php</strong></p>
  
  <pre><code>function rocket_loader_attributes_start() {
  ob_start();
  }
  
  function rocket_loader_attributes_end() {
  $script_out = ob_get_clean();
  $script_out = str_replace(
    "type='text/javascript' src='{rocket-ignore}", 
    'data-cfasync="false"'." src='", 
    $script_out);  
  print $script_out;
  }
  
  function rocket_loader_attributes_mark($url) {
  // Set up which scripts/strings to ignore
  $ignore = array (
      'script1.js'
  );
  //matches only the script file name
  preg_match('/(.*)\?/', $url, $_url);
  if (isset($_url[1]) &amp;&amp; substr($_url[1], -3)=='.js') {
    foreach($ignore as $s) {
       if (strpos($_url[1], $s)!==false)
         return "{rocket-ignore}$url";
    }
    return "$url' data-cfasync='true";
  }
  
  return "$url";
  
  }
  if (!is_admin()) {
    add_filter( 'clean_url', 'rocket_loader_attributes_mark', 11, 1);
    add_action( 'wp_print_scripts', 'rocket_loader_attributes_start');
    add_action( 'print_head_scripts', 'rocket_loader_attributes_end');
  }
  </code></pre>
  
  <p><strong>Error:</strong></p>
  
  <pre><code>GET https://example.com/blog/sheol-stranger-things/%7Brocket-ignore%7Dhttps://example.com/wp-content/plugins/waveplayer/assets/js/waveplayer.js?ver=2.0.5 404 ()
  </code></pre>
  
  <p>I have also tried inserting this into my header.php but this also does not omit the script from Rocket Loader. </p>
  
  <pre><code>&lt;script data-cfasync="false" src="/waveplayer.js"&gt;&lt;/script&gt;     
  </code></pre>