2017-08-30 13 views
0

まあ、Woocommerce - クッキーは私はJSエラーを取得しています

が定義されていない「クッキーが定義されていない」が、「js.cookie.min.js」は「woocommerce.min.js」の前にロードされます。

私はApacheのログをチェックしてエラーがないかどうかを確認します。 キャッシングプラグインがありません。

このエラーを追跡して根本原因を突き止める方法はわかりませんが、すべてが問題ないようです。

enter image description here

waitForImagesがロードされている別のJSですが、私はエラーを取得しています。

何か不足していますか?バグを見つけるヒント?これは、JS-クッキーからのコードが、私はJS-クッキーを理解していない何らかの理由で、ある

EDIT *********

詳しい調査の結果、設定された「registeredInModuleLoader "trueに設定されていますが、変数" Cookies "はまだ定義されていません。

;(function (factory) { 
    var registeredInModuleLoader = false; 
    if (typeof define === 'function' && define.amd) { 
     define(factory); 
     registeredInModuleLoader = true; 
    } 
    if (typeof exports === 'object') { 
     module.exports = factory(); 
     registeredInModuleLoader = true; 
    } 
    if (!registeredInModuleLoader) { 
     var OldCookies = window.Cookies; 
     var api = window.Cookies = factory(); 
     api.noConflict = function() { 
      window.Cookies = OldCookies; 
      return api; 
     }; 
    } 
} /* ... */ 

EDIT 2

は、私は問題を発見したと思いますが、なぜまだ知りません。

月曜日このコードが必要なMailChimpのシングルフォームを作成しました。 "define.amd"(上記)の条件が "embed.js"を指しているので、問題は "embed.js"であると思います。このスクリプトを削除すると、エラーはなくなります。

どのような考えですか?

<script type="text/javascript" src="//s3.amazonaws.com/downloads.mailchimp.com/js/signup-forms/popup/embed.js" data-dojo-config="usePlainJson: true, isDebug: false"></script> 

<script type="text/javascript">require(["mojo/signup-forms/Loader"], function(L) { L.start({"baseUrl":"mc.us14.list-manage.com","uuid":"xxxxxxxxxxxxxxxxxxxxxxxxx","lid":"xxxxxxxxxx"}) })</script> 

私は、前の最後の項目にこれ以上の問題をMailchimpスクリプトの位置を変更

を解決しました。

ありがとうございました。

答えて

1

を参照してください。

mailchiumpスクリプトがまだ読み込まれていないものを読み込もうとした可能性があります。

0

ファイルの名前を変更してまでfunctions.php

wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery.cookie.js 
wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery.cookie.min.js 

更新:

wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery_cookie.js 
wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery_cookie.min.js 

そして、あなたのテーマの機能に以下を追加します。PHPファイル:それをチェックするとjQueryが正しくロードされている確認後

add_action('wp_enqueue_scripts', 'custom_frontend_scripts');function custom_frontend_scripts() {global $post, $woocommerce; 

$suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? : '.min'; 
wp_deregister_script('jquery-cookie'); 
wp_register_script('jquery-cookie', $woocommerce->plugin_url() . '/assets/js/jquery-cookie/jquery_cookie' . $suffix . '.js', array('jquery'), '1.3.1', true); 
} 
+1

これは動作しません。私もこのページで言及しているプラ​​グインを試しましたhttps://docs.woocommerce.com/document/jquery-cookie-fails-to-load/ – lcssanches

0
This usually happens when you have 2 versions of jquery being loaded on your page, commonly caused by trying to use google for jquery or themes. This needs to be removed. You cannot reproduce this one with a clean install. 

、一度、私は、</body>前の最後の項目にこれ以上の問題をMailchimpスクリプトの位置を変更https://docs.woocommerce.com/document/jquery-cookie-fails-to-load/

+0

私のEDIT 2を見て、あなたはそのスクリプトがjqueryを再びロードしていると思いますか? – lcssanches