如何检测 JavaScript Cookie 是否已禁用?
本教程将教你如何使用 JavaScript 检测网站上 Cookie 是否已启用或禁用。Cookie是计算机上包含数据的小型文本文件。Web 服务器在将网页发送到浏览器后终止连接,并完全忘记用户。 “如何记住用户信息” 的挑战导致了 Cookie 的发明。Cookie 可能包含访问网站的用户姓名。Cookie 会“记住”用户在随后访问网站时的姓名。Cookie 允许您在网页上存储用户信息。
您的服务器以 Cookie 的形式将某些数据传输到访问者的浏览器。浏览器可能会接受Cookie。如果接受,则会在访问者的硬盘上保留其纯文本记录。现在,当访问者访问您网站上的其他页面时,浏览器会将相同的 Cookie 发送到服务器以进行检索。检索后,您的服务器会知道并记住之前保存的内容。
使用JavaScript,可以直接创建、检索和修改 Cookie,并且过程简单易行。可以限制 Cookie 的值、长度和名称。每次从浏览器服务器请求页面时,所有 Cookie 数据都会立即发送到应用程序服务器。由于恶意用户可以访问此信息,因此 Cookie 不应用于存储敏感信息,例如密码或信用卡号。
让我们首先了解如何在浏览器中检查 Cookie 是否已禁用。
步骤 1− 打开您的Google Chrome浏览器并点击设置。在这里,您可以看到您需要点击屏幕右上角的三个垂直点。

步骤 2− 将出现一个下拉菜单,您必须从中点击设置。

步骤 3− 设置页面打开后,您需要点击隐私和安全,如下所示。

步骤 4− 隐私和设置页面打开后,我们需要点击 Cookie 和其他网站数据,如下所示。

步骤 5− 此页面打开后,我们可以将设置更改为用户认为合适的任何选项。

在这里,我们看到用户选择了某个设置。
让我们看看检测 JavaScript Cookie 是否已禁用的不同方法。
使用 navigator.cookieEnabled() 函数
navigator.cookieEnabled 返回一个布尔值,指示 Cookie 是否已启用。此属性是只读的。如果 Cookie 已启用,则返回 true;否则返回 false。
语法
此函数的语法为:
if (navigator.cookieEnabled) {
//Cookies Enabled;
}
示例
在下面的示例中,我们将演示如何检测网站的 JavaScript Cookie 是否已启用或禁用。在这里,我们看到 JavaScript 中的navigator.cookieEnabled函数,它可以检查浏览器中 Cookie 是否已启用。
<html> <head> <script type="text/javascript"> function checkCookiesStats() { if(navigator.cookieEnabled) { document.getElementById("check").innerHTML="Cookies are enabled"; } else { document.getElementById("check").innerHTML="Cookies are disabled"; } } </script> </head> <body onload="checkCookiesStats()"> <h2>Check if cookies are enabled</h2> <p id="check"></p> </body> </html>
在上述输出中,用户可以看到该站点启用了 Cookie,这显示在用户的屏幕上。
使用 Modernizr 库
Modernizr 是一个超快速测试的集合——或者像我们所说的“检测”。它们在网页加载时运行,然后您可以使用结果根据用户体验量身定制。
语法
在文件中插入库:
<script src="modernizr.min.js" type="text/javascript">
在代码中使用
supportsCookie == false;
示例
在此示例中,我们正在使用 Modernizr 库检查浏览器中 JavaScript Cookie 是否已启用。函数 supportsCookies() 检查此站点上 Cookie 是否已启用。
<html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js" integrity="sha512-3n19xznO0ubPpSwYCRRBgHh63DrV+bdZfHK52b1esvId4GsfwStQNPJFjeQos2h3JwCmZl0/LgLxSKMAI55hgw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> </head> <body> <h2> Detecting JavaScript cookies. </h2> <p id="demo"></p> <script> function supportsCookies() { try { // Create cookie document.cookie = 'cookietest=1'; var ret = document.cookie.indexOf('cookietest=') != -1; // Delete cookie document.cookie = 'cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT'; return true; } catch (e) { return false; } } document.getElementById("demo").innerHTML = supportsCookies(); </script> </body> </html>
此输出清楚地显示 JavaScript Cookie 已禁用,并给出布尔值 true。
以上两种方法展示了用户如何在 JavaScript 中检查 Cookie 是否已禁用。第一种方法使用内置的 JavaScript 函数,第二种方法使用库和函数来帮助检测 JavaScript Cookie 是否已启用或禁用。
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP