3

我不是 javascript 大师,但尝试使用 js-cookie。我包含了脚本:https ://github.com/js-cookie/js-cookie :我下载了它(链接),并将它放在我自己的服务器上的 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>
4

3 回答 3

4

我没有使用过该库,但快速查看源代码显示它Cookies以大写字母导出C

    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那么它没有加载或不是全局的。

更新:

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

      <script type="application/javascript" src="https://server/cookies.js"></script>
于 2017-05-03T13:38:10.833 回答
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>
于 2021-07-14T17:23:47.407 回答
0

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

window.Cookies.get()
于 2021-04-04T04:59:41.810 回答