如何檢測JavaScript Cookie是否已停用?


本教程將教你如何使用JavaScript檢測網站上 Cookie 是否啟用或停用。Cookie是儲存在您計算機上的小型文字檔案,其中包含資料。Web伺服器在將網頁傳送到瀏覽器後終止連線,並完全忘記使用者。 “如何記住使用者資訊”這一挑戰導致了 Cookie 的發明。Cookie 可能包含訪問網站的使用者的姓名。Cookie會在使用者隨後訪問網站時“記住”使用者的姓名。Cookie 允許您在網頁上儲存使用者資訊。

您的伺服器以 Cookie 的形式將某些資料傳輸到訪問者的瀏覽器。瀏覽器可能會接受Cookie。如果接受,則會在訪問者的硬碟上保留其純文字記錄。現在,當訪問者訪問您網站上的其他頁面時,瀏覽器會將相同的 Cookie 傳送到伺服器以進行檢索。檢索後,您的伺服器就知道並記住之前儲存的內容。

使用JavaScript,可以直接建立、檢索和修改 Cookie,其過程簡單易行。可以限制 Cookie 的值、長度和名稱。當從瀏覽器伺服器請求頁面時,所有 Cookie 資料都會立即傳送到應用程式伺服器。由於惡意使用者可以訪問此資訊,因此不應使用 Cookie 儲存敏感資訊,例如密碼或信用卡號碼。

讓我們首先了解如何在瀏覽器中檢查 Cookie 是否已停用。

步驟 1 − 開啟您的谷歌瀏覽器,然後點選設定。在這裡,您可以看到必須點選螢幕右上角的三個垂直點。

步驟 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 是否啟用或停用。

更新於:2022年8月30日

5K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.