【问题标题】:"Cookies not defined" in standalone js-cookie javascript lib?独立 js-cookie javascript 库中的“未定义 Cookie”?
【发布时间】:2017-10-01 09:02:02
【问题描述】:

我不是 javascript 专家,但尝试使用 js-cookie。 我包含脚本:https://github.com/js-cookie/js-cookie:我下载了它(LINK),并将它放在我自己的服务器上的js文件中。 然后我将它包含在一个测试文件中并读取了一些 cookie,但它一直在浏览器控制台中向我显示错误“未定义 cookie”。我究竟做错了什么 :( ? 代码:

<html><head>
<script type="javascript" src="https://server/cookies.js"></script>
<script>
console.log("ALL COOKIES: " + Cookies.get());
</script></head>
<body></body>

【问题讨论】:

    标签: javascript js-cookie


    【解决方案1】:

    您在不同的路由/页面上使用了错误版本的 cookie.js

    使用最新的

    <script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
    

    如果不行,再试试

    <script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script>
    

    【讨论】:

      【解决方案2】:

      快速修复:在调用之前使用window.

      window.Cookies.get()
      

      【讨论】:

        【解决方案3】:

        我没有使用过该库,但快速查看源代码表明它导出了带有大写 CCookies

            if (!registeredInModuleLoader) {
                var OldCookies = window.Cookies;
                var api = window.Cookies = factory();
                api.noConflict = function () {
                    window.Cookies = OldCookies;
                    return api;
                };
            }
        

        所以尝试使用正确的大小写。

         console.log("ALL COOKIES: " + window.Cookies.get());
        

        此外,window 上的所有内容都是全球性的。所以你可以把代码简化成这样。

         console.log("ALL COOKIES: " + Cookies.get());
        

        下一次,在浏览器的 JavaScript 控制台中。只需键入window 并输入即可查看哪些变量是全局变量。您也可以直接在控制台中调用它,看看会发生什么Cookies 应该打印出一个 JavaScript 对象,并描述它具有哪些功能。

        如果是undefined,那么它没有被加载或者不是全局的。

        更新:

        浏览器未加载 JavaScript 库,因为 mime 类型错误。你必须在这里使用application/javascript

              <script type="application/javascript" src="https://server/cookies.js"></script>
        

        【讨论】:

        • 对不起,我在尝试了一些替代方案后忘记更正它。是的,它必须是“Cookies.get()”,刚刚更新它。我试过你的想法,还是不行,在浏览器控制台也看不到window.Cookies。在使用它之前我需要调用一些init方法吗? (文档中没有说)
        • 你确定你有正确的文件名?该文件名为js.cookie.js
        • 对于这个测试用例,我把文件放在这里:pub.bydehand.com/cookies.js。我觉得很好
        • 多么愚蠢:( 谢谢,刚刚改了它,它工作正常。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-09
        • 2019-03-23
        • 1970-01-01
        • 1970-01-01
        • 2016-09-29
        • 1970-01-01
        相关资源
        最近更新 更多