Announcement

Collapse
No announcement yet.

jQuery.Deferred exception & Uncaught ReferenceError: MivaEvents is not defined

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • SidFeyDesigns
    replied
    Matt Zimmermann I figured out the issue while working on a different project for this site.

    It was due to the Legacy Fallback Image setting on PROD (that's where the error was being thrown).

    This is an older site has been through all versions of Miva so the Legacy Fallback Image was set to Full-Sized since they still use that image field.

    I changed it to None and added a conditinal to display the Full-Sized image within the Product Display Layout (<mvt:elseif expr="NOT ISNULL l.settings:product:image">).

    The error has now gone away.

    I was also able to turn on the Defer Loading of JavaScript setting in the Search Preview Settings.

    Just thought I would post this here in case anyone else comes across a similar issue.

    Cheers,

    Nick

    Leave a comment:


  • SidFeyDesigns
    replied
    Matt Zimmermann unfortunately I don't have a great estimate on when it started happening. I will direct the them to support. Thanks.

    Leave a comment:


  • Matt Zimmermann
    replied
    Is this something that recently started happening or has it just become more prevalent? This might be something for Support to look into so day can get into the code.

    Leave a comment:


  • SidFeyDesigns
    replied
    Matt Zimmermann yeah its a moving target alright.

    What is weird is even when I reverted back to the non deferred scripts and turned the Defer Loading of JavaScript setting off under Search Settings this file /mm5/clientside.mvc?T=5afee121&amp;M=1&amp;Filename=run time_ui.js still had the async and defer attributes when checking the elements in chrome's dev tools.

    Th order of everything called in on the page seems to be correct on the PROD page template.

    Code:
    head>
        meta charset="utf-8" />
        meta name="viewport" content="width=device-width, initial-scale=1" />
        base href="&mvt:global:basehref;" />
        Conditional for title>&mvt:product:name;: &mvt:store:name; /title>
        mvt:item name="readytheme" param="contentsection( 'HT_high_priority' )" />
            the above contains the following in this order
            preconnect/prefetch browser hints for third party tracking scripts
            link rel="preload" as="style" href="fonts. googleapis .com /css2?family=Maven+Pro:wght@400;500;700;900&display =swap" />
            link rel="stylesheet" href="fonts. googleapis .com/css2?family=Maven+Pro:wght@400;500;700;900&display =swap" />
            mvt:item name="head" param="css_list" />
            mvt:item name="readytheme" param="contentsection( 'google_tag_manager' )" />
                the above contains google tag manager data layer and container script
        mvt:item name="head" param="head_tag" />
            the above contains the following in this order
            Conditionals for the canonical links
            mvt:item name="prodctgy_meta" param="combined" />
            mvt:assign name="g.cookie_count" value="miva_struct_members( g.request_cookies, g.cookies )" />
            mvt:assign name="l.settings:cookieName" value="'mm5-' $ g.store:code $ '-basket-id'" />
            mvt:assign name="g.cookiesDisabled" value="0" />
            mvt:foreach iterator="cookie" array="global:cookies">
                mvt:if expr="g.cookiesDisabled EQ 1">
                    mvt:foreachcontinue />
                /mvt:if>
                mvt:if expr="l.settings:cookie EQ l.settings:cookieName AND ISNULL miva_variable_value('g.request_cookies:' $ l.settings:cookie)">
                    mvt:assign name="g.cookiesDisabled" value="1" />
                /mvt:if>
            /mvt:foreach>
        SOCIAL Meta tags follow
    /head>
    The mvt:item name="product_display_imagemachine" param="body_deferred:product:id" /> is in the Product Display Item

    The mvt:item name="attributemachine" param="body_deferred" /> is in the Template just underneath mvt:item name="product_display" />

    The mvt:item name="head" param="footer_js" /> is placed in the global footer and is called in on the page template just before the closing body tag as it should be.

    The order of the scripts in the in that resource group are as follows:

    dom (vendor.min.js (jquery 3.6.0))
    plugins (plugins.js)
    scripts (scripts.js)

    The mvt:item name="head" param="footer_js" /> is not the last item in the global footer.

    It is followed by:

    mvt:item name="runa_client" param="page_insert" />
    mvt:item name="ups" />
    mvt:item name="readytheme" param="contentsection( 'noscript_tracking_global' )" /> (noscript 3rd party tracking)


    Not sure if anything other than those second and third to last items in the global footer are the culprits here.

    Nothing really seems out of place other than those items.

    I'm quite confused. Thank you for responding though.
    Last edited by SidFeyDesigns; 06-21-22, 11:13 AM.

    Leave a comment:


  • Matt Zimmermann
    replied
    Sounds like you have a bit of a moving target. You may check the loading order of your scripts as well as altering from defer to async depending on the script location.

    Leave a comment:


  • SidFeyDesigns
    replied
    I spoke too soon.

    Now the price does not update when clicking the plus or minus button for the quantity.

    No console errors either.

    Leave a comment:


  • SidFeyDesigns
    replied
    I should have searched more. I found my answer here:

    https://www.miva.com/forums/forum/ir...n-my-prod-page

    Removed the deferred setting from the attribute machine in the head and body and all is good in Miva land.

    Leave a comment:


  • jQuery.Deferred exception & Uncaught ReferenceError: MivaEvents is not defined

    getting this warning: (intermittently)

    "jQuery.Deferred exception: MivaEvents is not defined ReferenceError: MivaEvents is not defined
    at Object.jsPROD ( CLIENTDOMAIN .com/mm5/json.mvc?Store_Code=XXXX&Function=JavaScriptCombin edResource_Output&JavaScriptCombinedResource_Code= site-scripts&T=138e059a:662:3)
    at HTMLDocument.<anonymous> ( CLIENTDOMAIN .com/mm5/json.mvc?Store_Code=XXXX&Function=JavaScriptCombin edResource_Output&JavaScriptCombinedResource_Code= site-scripts&T=138e059a:141:26)
    at e ( CLIENTDOMAIN .com/mm5/json.mvc?Store_Code=XXXX&Function=JavaScriptCombin edResource_Output&JavaScriptCombinedResource_Code= site-scripts&T=138e059a:2:30038)
    at t ( CLIENTDOMAIN .com/mm5/json.mvc?Store_Code=XXXX&Function=JavaScriptCombin edResource_Output&JavaScriptCombinedResource_Code= site-scripts&T=138e059a:2:30340) undefined"

    Along with this error: (intermittently)

    Uncaught ReferenceError: MivaEvents is not defined
    at Object.jsPROD (json.mvc?Store_Code=XXXX&Function=JavaScriptCombi nedResource_Output&JavaScriptCombinedResource_Code =site-scripts&T=138e059a:662:3)
    at HTMLDocument.<anonymous> (json.mvc?Store_Code=XXXX&Function=JavaScriptCombi nedResource_Output&JavaScriptCombinedResource_Code =site-scripts&T=138e059a:141:26)
    at e (json.mvc?Store_Code=XXXX&Function=JavaScriptCombi nedResource_Output&JavaScriptCombinedResource_Code =site-scripts&T=138e059a:2:30038)
    at t (json.mvc?Store_Code=XXXX&Function=JavaScriptCombi nedResource_Output&JavaScriptCombinedResource_Code =site-scripts&T=138e059a:2:30340)

    they both seem to point to this code within the scripts.js file.

    MivaEvents.SubscribeToEvent('variant_changed', function () {
    gallery.length = 0;
    mainImageZoom.attr('data-index', 0);
    thumbnailIndex = 0;
    outOfStock ();
    selectedSwatch ();
    });

    The site in question is on the Suivant ReadyTheme

    It seems to mostly happen if landing directly on a product page and it doesn't seem to happen all the time.

    It's happening in an incognito too which I confirmed and seems to be more frequent in an incognito window.

    It also intermittently happens while browsing from page to page but there seems to be no rhyme or reason to it.

    Any help is appreciated.

    Thanks.
Working...
X