独立 js-cookie javascript 库中的“Cookie 未定义”?

edb*_*ras 5 javascript js-cookie

我不是 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>
Run Code Online (Sandbox Code Playgroud)

Rea*_*lar 4

我没有使用过该库,但快速查看源代码表明它Cookies以大写形式导出C。

    if (!registeredInModuleLoader) {
        var OldCookies = window.Cookies;
        var api = window.Cookies = factory();
        api.noConflict = function () {
            window.Cookies = OldCookies;
            return api;
        };
    }
Run Code Online (Sandbox Code Playgroud)

因此请尝试使用正确的大小写。

 console.log("ALL COOKIES: " + window.Cookies.get());
Run Code Online (Sandbox Code Playgroud)

而且,一切window都是全球性的。所以你可以将代码简化为这样。

 console.log("ALL COOKIES: " + Cookies.get());
Run Code Online (Sandbox Code Playgroud)

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

如果是,undefined则它未加载或不是全局的。

更新:

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

      <script type="application/javascript" src="https://server/cookies.js"></script>
Run Code Online (Sandbox Code Playgroud)