WordPress.org

Forums

WP Defer Loading
[resolved] Javascript errors on two themes (9 posts)

  1. mlargue
    Member
    Posted 9 months ago #

    Firstly, I love your plugin. It makes an incredible difference to my site load speeds. I hope you can help me with a couple of problems that I am encountering, that I have definitely isolated to your plugin.

    The two themes that are affected, are the ThemeForest Avada and Enfold themes. Both themes use a sticky menu and a modal search pop-up (this appears to be a consistent factor). Both of these pieces of functionality break when WP Defer Loading is activated, and the following errors are displayed through Chrome:

    Avada: Uncaught SyntaxError: Unexpected token .

    Enfold: Uncaught SyntaxError: Unexpected token ILLEGAL

    It goes without saying that this functionality works with no error when WP Defer Loading is deactivated.

    https://wordpress.org/plugins/wp-defer-loading/

  2. bassjobsen
    Member
    Plugin Author

    Posted 9 months ago #

    Hi @mlargue,

    Thanks for posting your issue. Are you enabled to show me an url with the errors. I can't don't download the themes you mentioned, cause there is no free version.
    Most issues are caused by script not enqueued well, as i also describe on my blog: http://bassjobsen.weblogs.fm/wordpress-development-properly-load-javascript-set-dependency/

    On theme-fusion.com/avada/ i found some javascript which requires jquery which not has been enqueued. I also found an other demo at http://www.kriesi.at/themes/enfold/. On the first sight in did not found any javascript written directly to the page source. But both demos also use other plugin to merge javascripts.

  3. mlargue
    Member
    Posted 9 months ago #

    Hi Bass

    Thanks for the prompt response. The two sites are:

    easteam.co and quixpix.com.

    I will activate your plugin so that you can see the problems Bear in mind that the sticky menu and navbar search modals should normally work. I am in the process of baselining speed, so there is nothing other than the standard install of the theme.

    Regards
    Michael

  4. mlargue
    Member
    Posted 9 months ago #

    Hi Bass

    Don't worry about quixpix.com, I think I may have a solution. I am still interested in your feedback on easteam.co though.

    Regards
    Michael

  5. mlargue
    Member
    Posted 9 months ago #

    Hi Bass

    Don't worry about quixpix.com either. Thanks for the help.

    Regards
    Michael

  6. bassjobsen
    Member
    Plugin Author

    Posted 9 months ago #

    Hi Michael,

    Thank for sharing your sites.
    I found the problem related to carriage returns inside the theme javascript settings (which are enqueued well).

    Are you able to test the latest version from github? https://github.com/bassjobsen/wp-defer-loading/archive/master.zip

    Thanks!

  7. mlargue
    Member
    Posted 9 months ago #

    Hi Bass

    I still receive the same error messages. This optimisation process can be rather complex - no silver bullet : )

    I am now looking at using an alternative theme. I will keep you posted.

    Regards
    Michael

  8. bassjobsen
    Member
    Plugin Author

    Posted 9 months ago #

    Hi Michael,

    I installed the avada theme (i found a had a license for that theme already) to investigate the problem. Unfortunately i found many issues related to this theme.

    Your original "Avada: Uncaught SyntaxError: Unexpected token." error was initiated by a bug in my plugin. I have fixed this bug already (download the latest version from github).

    Theme issues found:

    1. The Avada does not set dependency of jquery for most of their scripts. In the code you will find for instance:
      wp_deregister_script( 'jquery.flexslider' );
      	    wp_register_script( 'jquery.flexslider', $template_directory . '/js/jquery.flexslider-min.js', array(), null, true);
      		wp_enqueue_script( 'jquery.flexslider' );

      The empty array in the wp_register_script call should contain jquery, cause jquery.flexslider depends on jquery

    2. The theme also includes a main.js file by wp_register_script( 'avada', $template_directory . '/js/main.js',array(), null, true);
      This script contain among others a copy of Bootstrap's scrollspy plugin. When defer loading main.js (which also depends on jquery in the first place) the scrollspy has been called before initiated (i think main.js should set depended of scrollspy which should be loaded in an separated file).
      Also notice that Bootstrap's plugins can not defer load (or after the document.load event in this case), see also: https://github.com/twbs/bootstrap/issues/14023
      There seems to be a similar issues with the .placeholder call
    3. The theme requires other plugins such as revslider which also don't have set the jquery dependency (probably also relate to http://wordpress.org/support/topic/rev_slider-not-loading)

    I will write a note to the developers of Avada later on. I don't know if they are willing to fix some of the problems mentioned above. Currently the plugin don't support the Avada theme. I'm sorry for that.

  9. mlargue
    Member
    Posted 9 months ago #

    Hi Bass

    Thank you very much. Definitely above and beyond what I expected : ) I think I will definitely be moving on from this theme, at least until they remedy the many problems. I know they are looking at a version 4.

    Many thanks
    Michael

Reply

You must log in to post.

About this Plugin

  • WP Defer Loading
  • Frequently Asked Questions
  • Support Threads
  • Reviews

About this Topic

Tags

No tags yet.