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

从Flash中读写Cookies(二)

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


  第二部分:从Flash中写Cookies

  单独依靠Flash来写cookies是不可能的。在这里我们又一次用到了Javacript来设置你的cookies。一般在Flash中调用过程的方式都使用FS_command,但是它并不能很好的和所有浏览器保持协调。Flash专家在Bookmarklets这个设计中做了尝试, 利用Get URL命令来调用Javascript函数。写入cookie是比读取稍微复杂一些,不过紧跟下面的内容,你就可以做到。

  Step1:准备Javascript过程

  Javascript函数是一个迷你的程序,你可以在你需要的时候调用它们。我们将创建一个名叫"cookit"Javascript函数,用来操控由Flash传递出的变量。在以下这段代码代码中,我们将在 cookie中写入并驻留9个月。
  <script language="JavaScript1.1">
  <!--
  function cookit() {
  exDate = new Date
  exDate.setMonth(exDate.getMonth()+9)
  // This function writes a cookie sting from your Flash file.
  // to call this function, use the Get URL command and pass the
  // two variables to the JavaScript.
  for(i=0;i<cookit.arguments.length;i++) {
  ckThing = cookit.arguments[i] + '=' + cookit.arguments[i+1]
  i++
  document.cookie = ckThing + '; expires=' + exDate.toGMTString()
  }
  // The command to call this function is on the button 'click to
  // write cookie'. It uses the 'Get URL' command and passes
  // cookie information in pairs. The first item in a pair is
  // the cookie variable name, the second is the value for the
  // variable.
  }
  // -->
  </script>
  Step2:在Flash中调用函数 当你需要由Flash中传出改变cookie的信息时,你需要传递一对变量。这对变量的其中一个就是cookie的变量名,另一个当然就是这个cookie变量的值。假如你想写入一个名为"myname"、值为"Joho Smith"的cookie,那你就要调用像这样调用cookit函数: cookit('myname','John Smith').

  你每一次向cookie中写入需要的值时都必须成对的形式。同样,由于各种浏览器和平台对cookies有着不同的操控方式,最好是将你的所有的cookie值一次传递完。不过当你用cookit函数从Flash电影中添加变量时值可以每次添加一对值。(嘻嘻!当然着只是个例子而已,高手自然可以编出更好的函数^_^)。这里我们又会问了,那又如何在Flash中调用cookit函数呢?

  你可能打算大量不同类型的信息放置在cookie中以备今后读取(假如你曾看过 'Bake Cookies for your Visitors with Flash' 你就会这么做了!)在这个教程的例子(fla)里,我们通过Flash向cookie中写入两个变量。其中一个文本框是作为tztName(名称)的输入处,另一个文本框作为txtComment(注解)的输入处。注意看"按此写入cookies"按钮的Action.它是这么写的:

  Get URL ("JavaScript:cookit('txComment','" & /:txComment & "','txName','" & /:txName & "')")

  注意这个URL的前面是用"JavaScript"引导的:他告诉浏览器就要执行Javascript函数了。接着你就可以调用cookit函数了,传递变量。这个Get URL命令调用cookit函数,将你想在访问者下一次访问是提取的信息写入了他的计算机中。假如你好有些迷糊,你可以研究一下源码Flash中的字符变量。

  第三部分:"按此读取cookies"按钮

  在这个教程所附的源码中你还能看见一个叫"按此读取cookies"的按钮,这个按钮用Get URL 调用了另一个Javascript小程序。

  JavaScript:if(document.cookie.length<1){alert('No cookie for this site.')}else{alert('Your Cookie is:'+document.cookie)}

  这段JavaScript 打开了一个弹出式窗口列出你访问者所有的cookie信息,这是一个从Bookmarklets.com 的一个bookmarklet变化而来的。

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