Title: Autoptimize fails to aggregate inline Javascript containing &#039;src=&quot;&quot;&#039;
Last modified: August 31, 2016

---

# Autoptimize fails to aggregate inline Javascript containing 'src=""'

 *  Resolved [Tim](https://wordpress.org/support/users/n7studios/)
 * (@n7studios)
 * [10 years ago](https://wordpress.org/support/topic/autoptimize-fails-to-aggregiate-inline-javascript-containing-src/)
 * **Bug:**
    Autoptimize fails to minify inline Javascript where the inline Javascript
   includes the text src=””, despite Autoptimize being set to aggregate inline JS.
 * **Environment:**
    WordPress 4.5.2 Autoptimize 2.0.2 Autoptimize settings: – Optimize
   Javascript Code: Yes – Force Javascript in head: No – Also aggregate inline JS:
   Yes
 * **Steps to Reproduce:**
    1. Setup environment as above. 2. Install [https://gist.github.com/n7studios/5a54365fb31b159ca3cc1b8246eb3d74](https://gist.github.com/n7studios/5a54365fb31b159ca3cc1b8246eb3d74)
   as a WordPress Plugin, activating it. 3. Load any WordPress Page. 4. View the
   Page source, noting that the following script is still displayed and not included
   in Autoptimize’s minified JS:
 *     ```
       <script type="text/javascript">
       console.log( '<img src="http://placehold.it/400x400" />' );
       </script>
       ```
   
 * **Cause:**
    This is caused by a greedy preg_match at classes/autoptimizeScripts.
   php:99: `preg_match('#src=("|\')(.*)("|\')#Usmi',$tag,$source)`
 * This attempts to find the `src` tag within the <script></script> block to determine
   whether a script is inline or external. However, it greedily includes any other
   src tags that may be present, trying to validate them and therefore failing to
   include them in minification.
 * **Resolution:**
    For each script tag, once the first src match has been found,
   there’s no need to continue through that inline script block. The outer `preg_match_all`
   at line 92 will still catch all scripts, ensuring Autoptimize works correctly.
 * [https://wordpress.org/plugins/autoptimize/](https://wordpress.org/plugins/autoptimize/)

Viewing 4 replies - 1 through 4 (of 4 total)

 *  Plugin Author [Frank Goossens](https://wordpress.org/support/users/futtta/)
 * (@futtta)
 * [10 years ago](https://wordpress.org/support/topic/autoptimize-fails-to-aggregiate-inline-javascript-containing-src/#post-7384343)
 * thanks Tim, understand the issue, not 100% certain about
 * > For each script tag, once the first src match has been found, there’s no need
   > to continue through that inline script block
 * Given your example code;
 *     ```
       <script type="text/javascript">
       console.log( '<img src="http://placehold.it/400x400" />' );
       </script>
       ```
   
 * It would still continue in the actual JS to find the `src=`, as there’s no scr
   earlier? See test example at [https://regex101.com/r/aE4kZ0/2](https://regex101.com/r/aE4kZ0/2)
 * The most solid solution (I’ll have think some more & test this though) seems 
   to be to only look for a src-attribute inside the <script .*> block, using a 
   regex like;
 *     ```
       <script[^>]*src=("|\')([^>]*)("|\')
       ```
   
 * cfr. [https://regex101.com/r/pH0gZ3/2](https://regex101.com/r/pH0gZ3/2)
 * any feedback appreciated! 🙂
 * frank
 *  Plugin Author [Frank Goossens](https://wordpress.org/support/users/futtta/)
 * (@futtta)
 * [10 years ago](https://wordpress.org/support/topic/autoptimize-fails-to-aggregiate-inline-javascript-containing-src/#post-7384349)
 * cfr. [https://github.com/futtta/autoptimize/commit/1279edf0fe9d3da8f82bcdfcf8c4a531bdd9a0d8](https://github.com/futtta/autoptimize/commit/1279edf0fe9d3da8f82bcdfcf8c4a531bdd9a0d8)
 * would be nice if you could test with Envira Gallery 🙂
 * frank
 *  Thread Starter [Tim](https://wordpress.org/support/users/n7studios/)
 * (@n7studios)
 * [10 years ago](https://wordpress.org/support/topic/autoptimize-fails-to-aggregiate-inline-javascript-containing-src/#post-7384355)
 * I can confirm [https://github.com/futtta/autoptimize/commit/1279edf0fe9d3da8f82bcdfcf8c4a531bdd9a0d8](https://github.com/futtta/autoptimize/commit/1279edf0fe9d3da8f82bcdfcf8c4a531bdd9a0d8)
   fixes the issue in my opening bug report and with Envira Gallery.
 *  Plugin Author [Frank Goossens](https://wordpress.org/support/users/futtta/)
 * (@futtta)
 * [10 years ago](https://wordpress.org/support/topic/autoptimize-fails-to-aggregiate-inline-javascript-containing-src/#post-7384373)
 * great, thanks for the confirmation. this will (one day, not eta yet) be part 
   of AO 2.0.3.
 * frank

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘Autoptimize fails to aggregate inline Javascript containing 'src=""'’
is closed to new replies.

 * ![](https://ps.w.org/autoptimize/assets/icon-256X256.png?rev=2211608)
 * [Autoptimize](https://wordpress.org/plugins/autoptimize/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/autoptimize/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/autoptimize/)
 * [Active Topics](https://wordpress.org/support/plugin/autoptimize/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/autoptimize/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/autoptimize/reviews/)

## Tags

 * [javascript](https://wordpress.org/support/topic-tag/javascript/)

 * 4 replies
 * 2 participants
 * Last reply from: [Frank Goossens](https://wordpress.org/support/users/futtta/)
 * Last activity: [10 years ago](https://wordpress.org/support/topic/autoptimize-fails-to-aggregiate-inline-javascript-containing-src/#post-7384373)
 * Status: resolved