Support » Plugin: Gravity Forms HTML5 Placeholders » Consider moving fallback to the footer

  • Resolved nicomollet

    (@nicomollet)


    Hello
    Nice plugin, really helpful.

    I managed to put all my JS files (jquery, gravityforms) before the </body> tag.
    The problem is the fallback.js script of Gravity Forms HTML5 Placeholders is loaded in the head, forcing jquery to load in the head.

    As you may know, JS scripts in the head are render-blocking, giving poor performances.

    This is an easy fix, just edit this line:

    wp_register_script( 'gforms_placeholders_fallback', $this->get_base_url() . "/js/gravityforms-placeholders-fallback" . $suffix . ".js",   array( 'jquery' ), $this->_version, false );

    Replace with:

    wp_register_script( 'gforms_placeholders_fallback', $this->get_base_url() . "/js/gravityforms-placeholders-fallback" . $suffix . ".js",   array( 'jquery' ), $this->_version, true );

    FYI, this is how to move Gravity Forms script before the </body> :

    // Gravityforms to footer
    add_filter("gform_init_scripts_footer", "gravityforms_footer_noblockrender");
    function gravityforms_footer_noblockrender() {
    	return true;
    }

    Thank you

    https://wordpress.org/plugins/gravityforms-html5-placeholders/

Viewing 10 replies - 1 through 10 (of 10 total)
  • Plugin Author iSoftware

    (@isoftware)

    Hi nicomollet,

    This issue is resolved in Gravity Forms HTML5 Placeholders ver. 2.7.2

    We removed the original script that was jQuery dependent and overriden the build-in Gravity Forms script ‘gform_placeholder’ to use the latest version of Placeholders.js found at http://jamesallardice.github.io/Placeholders.js/.

    Thank you for your input

    Thanks for your reply.

    I see you are working with GF beta 1.9.
    This beta is really buggy at the moment, can’t test my forms with it.

    Not sure if Gravity Forms HTML5 Placeholders should work with GF 1.8.19: I updated with GFHP 2.7.2 I couldn’t see the Placeholders.js in my html. Are you sure it is loaded correctly, it seems to lack a wp_enqueue_script for it?

    Plugin Author iSoftware

    (@isoftware)

    Gravity Forms has this script built-in at ver. 2 something. We just incorporate the latest version of this script (3.0.2) and override the built-in with de register and register statements. The enqueuing is being handled by gravity forms, not our plugin anymore.

    This script does not depend on jQuery so you shouldn’t have a problem.

    As far as 1.9 beta is concerned, this plugin is not compatible and should not be used together. Our testing is conducted with the latest production version of GF (1.8.19 atm).

    GF 1.8.19 + GFHP 2.72 installed, and there is no placeholder.js script anywhere in my html.

    I even checked with the theme twentyfourteen. GF settings are gforms_disable_css=1, gforms_enable_html5=1

    If I enable edit gforms_disable_css=0, then I see the gravityforms-placeholders.min.css in the head OK.

    There still is a bug with the loading JS I guess?

    Plugin Author iSoftware

    (@isoftware)

    This is Gravity Forms designed behavior. If you disable css GF setting it doesn’t output scripts in front end both css and js.

    We do not want to alter the default behaviour of the GF setting, even though this doesn’t feel right for the Placeholder.js script.

    As an alternative, you can manually enqueue the Placeholder.js script using wp_enqueue_script(‘gform_placeholder’) if you so choose to disable front end scripts.

    Thank you again for your insight.

    Sorry I was not very clear.

    I was meaning, Placeholder.js is not loaded in any case, with gforms_disable_css = 0 or 1.

    Also, gforms_disable_css only concerns Gravity Forms CSS, not JS: Gravity Forms JS are still loaded with 0 or 1.

    Plugin Author iSoftware

    (@isoftware)

    I cannot reproduce this so I would like your assistance.

    The gform_placeholder script is listed as a dependency for the following scripts:

    gform_form_admin
    gform_form_editor
    gform_gravityforms

    the first two are used in the admin so I guess that gform_gravityforms is not loading on your front end?

    Here is the html of my frontend page with a Gravity Forms, and the first field #input_2_1 having a placeholder:
    http://paste2.org/V4MaeCff

    GF settings:
    gforms_disable_css=0
    gforms_enable_html5=1

    Theme is twentyfourteen. No other GF addons plugins activated.

    All CSS and JS from GF are loaded, I think.
    The CSS from GFHP is loaded.
    The JS (Placeholders.js) from GFHP is *not* loaded.ยด

    Does it help?

    Plugin Author iSoftware

    (@isoftware)

    I managed to reproduce this and is fixed in ver. 2.7.3

    Thank a lot, keep up the good work.

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Consider moving fallback to the footer’ is closed to new replies.