首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Woocommerce - Cookies没有定义

问Woocommerce - Cookies没有定义
EN

Stack Overflow用户
提问于 2017-08-30 09:39:20
回答 3查看 6.1K关注 0票数 3

井,

我得到JS错误"Cookies未定义“,但"js.cookie.min.js”在"woocommerce.min.js“之前加载。

我检查apache日志,看看是否有错误,但没有错误。我没有缓存插件。

我不知道如何追踪这个错误,找出根本原因,一切似乎都好。

​

​

waitForImages是另一个加载的JS,但我得到了一个错误。

我是不是遗漏了什么?找到窃听器的窍门?

编辑*

进一步调查

这是js的代码,由于某些原因,我不明白js正在将"registeredInModuleLoader“设置为true,但变量"Cookies”尚未定义。

代码语言:javascript
复制
;(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;
        };
    }
} /* ... */

编辑2

我想我找到了问题,但还不知道为什么。

星期一,我从MailChimp放了一个单独的表单,它需要这段代码。我认为问题在于"embed.js",因为在"define.amd“(上面)指向"embed.js”的条件下。删除此脚本后,错误将消失。

有什么想法吗?

代码语言:javascript
复制
<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>

解决了

我将邮件黑猩猩脚本的位置更改为之前的最后一项,不再有任何问题。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-30 13:43:34

我将邮件黑猩猩脚本的位置更改为</body>之前的最后一项,不再有问题。

也许mailchiump脚本试图加载一些尚未加载的内容。

票数 5
EN

Stack Overflow用户

发布于 2017-08-30 12:39:28

这通常发生在页面上加载了2个版本的jquery时,这通常是由于尝试将google用于jquery或主题造成的。这需要移除。你不能用一个干净的安装来复制这个。

在检查并确认jquery正确加载后,一次,请参阅https://docs.woocommerce.com/document/jquery-cookie-fails-to-load/

票数 1
EN

Stack Overflow用户

发布于 2017-08-30 10:51:21

重命名文件并更新functions.php

代码语言:javascript
复制
wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery.cookie.js
wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery.cookie.min.js

to:

代码语言:javascript
复制
wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery_cookie.js
wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery_cookie.min.js

并将以下内容添加到主题的functions.php文件中:

代码语言:javascript
复制
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 );
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45956946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档