45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > Photoshop >

跟我学cookies 1

电脑软硬件应用网 45IT.COM 时间:2005-12-30 19:28 作者:45IT收集

cookies也有人把它叫做"小甜饼" ,它具有双重性格,既可爱又可怕,优点:加强站点设计的灵活性.因为cookies可以用来记录访问过你的网页的人的信息, 这样在该访问者再次访问你的站点时你就可以对该cookies进行处理。比如说验证该访问者是否第一次光临您的站点等等。 缺点:由于cookies牵扯到向用户的硬盘写盘和读取信息,所以就涉及保密性的问题.其局限性还在于:不是每个人的浏览器都欢迎cookies.即便是用户的浏览器欢迎cookies,但用户也有可能通过设置拒绝cookies的访问(大部分人还是欢迎的)每个域名只分配20个cookies,其大小不得大于4 KB. 

  cookies实际上是字符串。要保存访问者的信息,你必须首先建立一个特殊的cookie字符串。然后在访问者再次访问你的站点时读取该信息,对该cookie字符串进行解码处理。要生成和解释这些字符串你必须了解JavaScript的字符串工作原理。所以我们必须先要了解字符串。 

一. 字符串处理

  字符串主要有indexOf, charAt,substring,split和其他一些诸如 bold,italic,underline,sup等与字体外观样式设置有关的对象,下面我们就分别进行学习.

  1. indexOf对象
  indexOf用于发现一系列的字符在一个字符串中等位置并告诉你子字符串的起始位置。如果一个字符串中不包含该子字符串则 indexOf返回returns "-1.", 这里是一个例子:

  var text = "hermes"; 
  var location_h = text.indexOf("h"); 
  location_h(字母h的位置)将为0,因为字母h位于该字符串的起始位置。

  var location_m = text.indexOf("m");
  location_m(字母m的位置)将为3。

  var location_me = text.indexOf("me"); 
  location_me(me的位置)将为3因为子字符串“me”以字母 m开始,而m在单词 hermes中的位置是3。

  var location_x = text.indexOf("x"); 
  location_x值是-1,因为在单词“hermes”中没有字母x。

  请看indexOf应用例程:
  var email = prompt("输入你的邮件地址:", "");
  var loca = email.indexOf("@");
  if (loca == -1)
  { alert("你的email地址不含@符号,重新输入!"); } 

  这段代码询问用户输入电子邮件地址,如果用户输入的电子邮件地址中不包含字符@则提示用户邮件地址非法。

  2.charAt
  chatAt方法用于发现一个字符串中某个特定位置的字符。这里是一个例子:

  var text = "hermes";
  var first = text.charAt(0);
  var second = text.charAt(1);
  var last = text.charAt(text.length-1);

  first(第1个字符)是"h"
  second(第2个字符)是"e"
  last(最后一个字符)是 "s"

  注意利用字符串的length(长度)属性你可以发现在包含多少个字符。在本例中,text.length是6。

  因为在一个字符串中第1个字符的位置是0,所以最后一个字符的位置就是length-1。

  3.substring
  子字符串(substring)和charAt相似,不同之处在于它能够从一个单词中抓取整个的子字符串,而不只是字母.这里是其格式:

  var the_substring = the_string.substring(from, to);

  "From"指的是子字符串中第1个字母的位置,"to"有点奇特,它是该子字符串中比最后一个位置大1的位置.使用这种神奇的方法你可以标记子字符串的起始和结束位置,用"to"的位置减去"from"的位置就会得出该子字符串的长度:

  var text = "hermes";
  var str1 = text.substring(0,3);
  var str2 = text.substring(3,6);

  运行该段代码后变量str1的值为"her"; 变量tool的值为"mes"。

  子字符串常和indexOf一起使用,将字符串分成若干块.例如,

  你可以从一个给定的URL中抽取出其域名:

  var the_url = prompt("What's the URL?","");
  var lead_num = the_url.indexOf("//");  确定第一个双斜杠的位置
  var domainloc = lead_num + 2;  域名开始位置
  var nolead = the_url.substring(domainloc, the_url.length);  http://后面的字符串

  var next_num = nolead.indexOf("/");  /的位置
  var domain = without_resource.substring(0, next_num);  提取域名

  这段代码的意思是:如果你输入
  "../index.htm",则域名domain的值就是"www.hermes.com.cn" .

  如果这个方法对你来说有些麻烦,我将向你介绍如何使用split方法简化其执行过程.

  4.split(分割)
  split方法可以分割一系列的字符串,然后将其放在一个数组中.例如:

  var animal = "dog,monkey,fox,rabbit,pig";
  var animal_array = animal.split(",");
  for (loop=0; loop < animal_array.length;loop++)
  {
  document.writeln(animal_array[loop] + " is very lovely.
  ");
  }

  这段代码将字符串animal分割成包含5个元素的数组.JavaScript可以为你自动建立一个数组,所以你无需使用new Array().

  将字符串分割成数组之后,我们使用了循环语句写出每一个名称.我们可以利用split方法简化前面所讲到的域名提取:

  var the_url = prompt("What's the URL?","");
  var first_split = the_url.split("//");
  var last_split = first_split[1];
  var second_split = last_split.split("/");
  var domain = second_split[0];

  我们来分析一些这段代码:
  var the_url = prompt("What's the URL?",""); 

  提示用户输入一个URL,假设用户输入                    "../index.htm" .
  var first_split = the_url.split("//"); 
  将用户输入的字符串分割成两块:first_split[0]是"http:",
first_split[1]是"www.hermes.com.cn/new/index.htm" 

  var last_split = first_split[1]; 
  提取出数组中的第2个元素,所以现在last_split是
  "www.hermes.com.cn/new/index.htm" 

  var second_split = last_split.split("/"); 
  将last_split分割成3块:www.hermes.com,new,和index.htm.并且自动生成以这3块为元素的second_split数组.

  var domain = second_split[0]; 
  取出新数组中的第1个元素得出域名.

  也许你有些烦了:怎么这么罗嗦,我要学cookies,你却先说了这么一大堆!

  "万丈高楼平地起" 嘛,好了,我们下一课就开始神奇的cookies之旅吧.


顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识