目录
什么是 cookie?
语法
步骤
示例
首页 web前端 js教程 如何在 JavaScript 中唯一标识访问网站的计算机?

如何在 JavaScript 中唯一标识访问网站的计算机?

Sep 13, 2023 pm 12:33 PM

如何在 JavaScript 中唯一标识访问网站的计算机?

每当我们创建任何应用程序或网站时,我们都需要唯一地识别访问该网站的计算机。唯一标识计算机有很多好处。

例如,您正在向用户提供一些服务。通过唯一标识计算机,当用户首次从新设备访问您的网站时,您可以提供免费试用服务。当用户再次访问时,您可以要求用户购买高级版或订阅您的应用程序。

在这里,我们将使用 cookie 来识别访问网站的计算机。

Cookie 允许开发人员在浏览器中存储用户信息。例如,我们可以将数据从服务器发送到浏览器并存储在浏览器中。因此,每当用户重新访问该网站时,它都会从 cookie 而不是从服务器获取数据。因此,cookie 可以提高应用程序的性能。

在我们的例子中,当用户第一次访问网站时,我们可以将 cookie 设置为 100 年到期。此后,每当用户再次访问该网站时,我们都会检查cookie是否存在,然后我们就可以说用户重新访问了该网站。

语法

用户可以按照以下语法在网络浏览器上设置和获取 cookie。

// to set cookies
document.cookie = "isVisited=true";

// to get cookies
let ca = decodeURIComponent(document.cookie).split(';'); 
登录后复制

在上面的语法中,我们将一个带有键值对的字符串分配给 document.cookie 以将 cookies 设置到浏览器中。要获取 cookie,我们可以简单地使用 document.cookie,它返回 cookie 数组。

步骤

第 1 步 - 创建 fetchCookies() 函数。

第 2 步 - 在 fetchCookies() 函数中,使用 document.cookie 获取数组格式的 cookie,并使用decodeURIComponent() 方法对 cookie 进行解码。

第 3 步 - 使用 for 循环迭代数组。

步骤 4 - 对于数组的每个元素,删除数组开头的空格。

第 5 步 - 使用 indexOf() 方法检查数组元素是否包含第 0th 索引处的键,并使用 substring() 获取键值方法。

第 6 步 - 返回特定键的值。

第 7 步 - 创建 fetchCookies() 函数。在 fetchCookies() 函数中,调用 getCookie() 函数并检查 cookie 是否存在。

第 8 步 - 如果 cookie 为空,则设置 cookie。

第9步 - 根据所需的cookie是否为空打印消息。

示例

在下面的示例中,每当用户第一次访问网站时,我们都会在 cookie 中将“isValidate”设置为“true”值。每当用户第二次访问该网站时,我们都会在 cookie 中获取“isValidate”,因此我们会打印“欢迎回到网站”之类的消息。

<html>
<body>
   <h3>Using the <i> Cookies </i> to uniquely identify computers visiting web site in JavaScript</h3>
   <div id = "content"> </div>
   <script>
      let content = document.getElementById('content');
      
      // function to get cookies
      function fetchCookies(cname) {
         let key = cname + "=";
         let ca = decodeURIComponent(document.cookie).split(';');
         for (let i = 0; i < ca.length; i++) {
            let part = ca[i];
            while (part.charAt(0) == ' ') {
               part = part.substring(1);
            }
            if (part.indexOf(key) == 0) {
               return part.substring(key.length, part.length);
            }
         }
         return null;
      }
      
      // set cookies to uniquely identify the computer visiting the website
      function checkCookies() {
         var cookies = fetchCookies("isVisited");
         if (cookies == null) {
            content.innerHTML = "Welcome to the website";
            document.cookie = "isVisited=true";
         } else {
            content.innerHTML = "Welcome back to the website";
         }
      }
      checkCookies();
   </script>
</body>
</html>
登录后复制

示例

在下面的示例中,每当用户第一次访问该网站时,我们都会使用提示框询问他们的姓名并显示欢迎消息。此外,我们将 cookie 设置为 100 年有效期。

每当用户第二次访问时,我们都会显示带有他们姓名的欢迎消息,而不会询问他们的姓名。

<html>
<body>
   <h3>Using the <i> Cookies </i> to uniquely identify computers visiting web site in JavaScript</h3>
   <div id = "content"> </div>
   <script>
      let content = document.getElementById('content');
      
      // function to get cookies
      function fetchCookies(cname) {
         let key = cname + "=";
         let ca = decodeURIComponent(document.cookie).split(';');
         for (let i = 0; i < ca.length; i++) {
            let part = ca[i];
            while (part.charAt(0) == ' ') {
               part = part.substring(1);
            }
            if (part.indexOf(key) == 0) {
               return part.substring(key.length, part.length); 
            }
         }
         return null;
      }
      
      // set cookies to uniquely identify the computer visiting the website
      function checkCookies() {
         var cookies = fetchCookies("customCookie");
         if (cookies == null) {
            let name = prompt("Enter your name", "Shubham");
            document.cookie = "customCookie=" + name + "; expires=Thu, 23 Oct 2120 12:00:00 UTC; path=/";
            content.innerHTML = "How are you " + name + "?";
         }
         else {
            content.innerHTML = "Hey, " + cookies + " You visited our site again!";
         }
      }
      checkCookies();
   </script>
</body>
</html> 
登录后复制

用户学会了使用 JavaScript 中的 cookie 来唯一标识访问网站的计算机。然而,cookie 有一些限制。如果用户清除cookie,我们就无法唯一地识别该计算机。另外,我们需要将 cookie 的有效期限设置为 100 年。此外,如果用户使用不同的浏览器,我们无法唯一地识别计算机。

克服上述所有问题的最佳解决方案是使用 Google Analytics。

以上是如何在 JavaScript 中唯一标识访问网站的计算机?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

在JavaScript中替换字符串字符 在JavaScript中替换字符串字符 Mar 11, 2025 am 12:07 AM

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

自定义Google搜索API设置教程 自定义Google搜索API设置教程 Mar 04, 2025 am 01:06 AM

本教程向您展示了如何将自定义的Google搜索API集成到您的博客或网站中,提供了比标准WordPress主题搜索功能更精致的搜索体验。 令人惊讶的是简单!您将能够将搜索限制为Y

构建您自己的Ajax Web应用程序 构建您自己的Ajax Web应用程序 Mar 09, 2025 am 12:11 AM

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

示例颜色json文件 示例颜色json文件 Mar 03, 2025 am 12:35 AM

本文系列在2017年中期进行了最新信息和新示例。 在此JSON示例中,我们将研究如何使用JSON格式将简单值存储在文件中。 使用键值对符号,我们可以存储任何类型的

10个jQuery语法荧光笔 10个jQuery语法荧光笔 Mar 02, 2025 am 12:32 AM

增强您的代码演示:开发人员的10个语法荧光笔 在您的网站或博客上共享代码片段是开发人员的常见实践。 选择合适的语法荧光笔可以显着提高可读性和视觉吸引力。 t

8令人惊叹的jQuery页面布局插件 8令人惊叹的jQuery页面布局插件 Mar 06, 2025 am 12:48 AM

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

10 JavaScript和JQuery MVC教程 10 JavaScript和JQuery MVC教程 Mar 02, 2025 am 01:16 AM

本文介绍了关于JavaScript和JQuery模型视图控制器(MVC)框架的10多个教程的精选选择,非常适合在新的一年中提高您的网络开发技能。 这些教程涵盖了来自Foundatio的一系列主题

什么是这个&#x27;在JavaScript? 什么是这个&#x27;在JavaScript? Mar 04, 2025 am 01:15 AM

核心要点 JavaScript 中的 this 通常指代“拥有”该方法的对象,但具体取决于函数的调用方式。 没有当前对象时,this 指代全局对象。在 Web 浏览器中,它由 window 表示。 调用函数时,this 保持全局对象;但调用对象构造函数或其任何方法时,this 指代对象的实例。 可以使用 call()、apply() 和 bind() 等方法更改 this 的上下文。这些方法使用给定的 this 值和参数调用函数。 JavaScript 是一门优秀的编程语言。几年前,这句话可

See all articles