资讯专栏INFORMATION COLUMN

JavaScript之读取和写入cookie

SoapEye / 1356人阅读

摘要:本身是一些短小的信息,能够由页面保存在用户的计算机上,然后被其他页面读取。当然,也有局限之处浏览器对于能够保存的数量有所限制,通常是几百个或者多一点。因此,不适合用来保存重要数据,在编写代码时也要考虑到获取异常的处理方法。

  首先先让我们简单地了解一下cookie.
  在我们制作网页的过程中,经常需要把信息从一个页面传递给另一个页面,这时候就需要用到JavaScript中的cookie机制了。简单说来,cookie提供了一种便捷的方式,能够在用户的计算机上保存少量数据并且远程获得它们,从而让网站可以保存一些细节信息,比如用户的习惯设置或是上一次访问网站的时间。cookie本身是一些短小的信息,能够由页面保存在用户的计算机上,然后被其他页面读取。cookie一般都设置为在一定时间后失效。
  当然,cookie也有局限之处:浏览器对于能够保存的cookie数量有所限制,通常是几百个或者多一点。一般情况下,每个域名20个cookies是允许的,而每个域最多能保存4KB的cookie.除了大小限制可能导致的问题,也有很多原因会引起硬盘上的cookie消失,比如达到有效期限了,或是用户清理了cookie信息,或是换用了其他浏览器。因此,cookie不适合用来保存重要数据,在编写代码时也要考虑到cookie获取异常的处理方法。
  在JavaScript中,使用document对象的cookie属性来储存和获取cookie.通常,document.cookie里的信息是由成对的名称和值组成的字符串,每一对数据的形式是:

name=value;

  下面我们将通过一个简单的例子来展示在JavaScript中如何读取和写入cookie.
  首先是createCookie.html,在该页面中会创建一个cookie,完整的代码如下:



    createCookie
    


    Userame:  

Password:  

该页面的截图如下:

点击submit按钮,就会创建一个cookie,在该cookie中保存了Username和Password信息,并且会跳转到showCookie.html页面。其中,showCookie.html页面的完整代码如下:



    showCookie
    


    
    

页面截图如下:

点击show Cookie按钮就会显示cookie里面的信息了。
  下面,我们将会在本地和服务器上分别跑这个程序,分别在IE浏览器和Chrome浏览器上运行这个程序,看看cookie的运行情况。
  首先我们在本地运行这个程序,我们将上述两个文件都放在E盘中。先在IE浏览器上运行,在createCookie.html页面上输入信息,并点击submit按钮,截图如下:

跳转到showCookie.html页面后,点击show Cookie按钮,页面截图如下:

cookie在本地环境中的IE浏览器中运行正常。
  接下来,我们看看在Chrome浏览器中运行情况,首先在Chrome浏览器中打开createCookie.html页面,输入信息,并点击submit按钮,截图如下:

跳转到showCookie.html页面后,点击show Cookie按钮,页面截图如下:

同样的程序,这次cookie在Chrome浏览器中却运行失败了。
  接着让我们在服务器中运行这个程序,需要用到xampp,并打开Apache服务器,将上述两个html文件放在xampp安装文件夹下的htdocs文件夹下(具体的操作方法可以参考这篇博客:JavaScript之使用AJAX(适合初学者))。我们现在IE浏览器中运行该程序,在IE浏览器中输入网址:http://localhost/createCookie...:

点击Submit按钮,跳转到showCookie.html页面,并点击show Cookie按钮,截图如下:

  然后我们在Chrome浏览器中输入网址:http://localhost/createCookie...:

点击Submit按钮,跳转到showCookie.html页面,并点击show Cookie按钮,截图如下:

这次在服务器环境下,IE浏览器和Chrome浏览器的cookie都运行正常!
  本次分享到此结束,欢迎大家交流~~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92844.html

相关文章

  • 数据存储

    摘要:数据并非存储在一个安全环境中,其中包含的任何数据都可以被他人访问。的两个主要目标是提供一种在之外存储会话数据的途径提供一种存储大量可以跨会话存在的数据的机制。 随着Web应用程序的出现,产生了对于能够直接在客户端上存储用户信息能力的要求。比如登录信息、偏好设定或其他数据,这个问题的第一个方案是以cookie的形式出现的,今天cookie只是在客户端存储数据的其中一种选项。 cookie...

    frolc 评论0 收藏0
  • js同源策略共享cookie

    摘要:为什么要有同源限制同源策略的目的主要是为了防止恶意获取修改网站数据。假设现在没有同源策略,会发生什么事情呢大家知道,可以做很多东西,比如读取修改网页中某个值。 什么是同源 同domain(或ip),同端口,同协议视为同一个域,一个域内的脚本仅仅具有本域内的权限,可以理解为本域脚本只能读写本域内的资源,而无法访问其它域的资源。这种安全限制称为同源策略。 为什么要有同源限制 同源策略的目的...

    Miyang 评论0 收藏0
  • 大话javascript 5期:跨域

    摘要:同源策略所谓同源是指协议,域名,端口均相同。同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。需注意的是由于同源策略的限制,所读取的为跨域请求接口所在域的,而非当前页。 一、什么是跨域 1.URL解析 URL (Uniform Resource Locator )统一资源定位符(URL)是用于完整地描述Internet上网页和其他资源的地址的...

    jzzlee 评论0 收藏0
  • JavaScript是如何工作的:存储引擎+如何选择合适的存储API

    摘要:字节流这个简单的模型将数据存储为长度不透明的字节字符串变量,将任何形式的内部组织留给应用层。字节流数据存储的代表例子包括文件系统和云存储服务。使用同步存储会阻塞主线程,并为应用程序的创建冻结体验。 这是专门探索 JavaScript 及其所构建的组件的系列文章的第 16 篇。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 如果你错过了前面的章节,可以在这里找到它...

    draveness 评论0 收藏0
  • JS学习笔记 - 封装 Cookie 应用接口

    摘要:本文章记录本人在学习中看书理解到的一些东西,加深记忆和并且整理记录下来,方便之后的复习。封装函数在默认的情况下存取是一件比较麻烦的事情。而且信息的字符串本身就令人讨厌,在经常使用信息的应用中格外的不方便。 本文章记录本人在学习 Cookie 中看书理解到的一些东西,加深记忆和并且整理记录下来,方便之后的复习。 封装函数 在默认的情况下存取Cookie是一件比较麻烦的事情。由...

    oneasp 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<