从Flash中读写Cookies(二)
第二部分:从Flash中写Cookies
本文来自织梦
单独依靠Flash来写cookies是不可能的。在这里我们又一次用到了Javacript来设置你的cookies。一般在Flash中调用过程的方式都使用FS_command,但是它并不能很好的和所有浏览器保持协调。Flash专家在Bookmarklets这个设计中做了尝试,利用GetURL命令来调用Javascript函数。写入cookie是比读取稍微复杂一些,不过紧跟下面的内容,你就可以做到。 内容来自dedecms
Step1:预备Javascript过程 织梦好,好织梦
Javascript函数是一个迷你的程序,你可以在你需要的时候调用它们。我们将创建一个名叫"cookit"Javascript函数,用来操控由Flash传递出的变量。在以下这段代码代码中,我们将在cookie中写入并驻留9个月。
<scriptlanguage="JavaScript1.1">
<!--
functioncookit(){
exDate=newDate
exDate.setMonth(exDate.getMonth() 9)
//ThisfunctionwritesacookiestingfromyourFlashfile.
//tocallthisfunction,usetheGetURLcommandandpassthe
//twovariablestotheJavaScript.
for(i=0;i<cookit.arguments.length;i ){
ckThing=cookit.arguments[i] '=' cookit.arguments[i 1]
i
document.cookie=ckThing ';expires=' exDate.toGMTString()
}
//Thecommandtocallthisfunctionisonthebutton'clickto
//writecookie'.Itusesthe'GetURL'commandandpasses
//cookieinformationinpairs.Thefirstiteminapairis
//thecookievariablename,thesecondisthevalueforthe
//variable.
}
//-->
</script>
Step2:在Flash中调用函数当你需要由Flash中传出改变cookie的信息时,你需要传递一对变量。这对变量的其中一个就是cookie的变量名,另一个当然就是这个cookie变量的值。假如你想写入一个名为"myname"、值为"JohoSmith"的cookie,那你就要调用像这样调用cookit函数:cookit('myname','JohnSmith'). 内容来自dedecms
你每一次向cookie中写入需要的值时都必须成对的形式。同样,由于各种浏览器和平台对cookies有着不同的操控方式,最好是将你的所有的cookie值一次传递完。不过当你用cookit函数从Flash电影中添加变量时值可以每次添加一对值。(嘻嘻!当然着只是个例子而已,高手自然可以编出更好的函数^_^)。这里我们又会问了,那又如何在Flash中调用cookit函数呢? 织梦好,好织梦
你可能打算大量不同类型的信息放置在cookie中以备今后读取(假如你曾看过'BakeCookiesforyourVisitorswithFlash'你就会这么做了!)在这个教程的例子(fla)里,我们通过Flash向cookie中写入两个变量。其中一个文本框是作为tztName(名称)的输入处,另一个文本框作为txtComment(注解)的输入处。注重看"按此写入cookies"按钮的Action.它是这么写的:
GetURL("JavaScript:cookit('txComment','"&/:txComment&"','txName','"&/:txName&"')") 织梦好,好织梦
注重这个URL的前面是用"JavaScript"引导的:他告诉浏览器就要执行Javascript函数了。接着你就可以调用cookit函数了,传递变量。这个GetURL命令调用cookit函数,将你想在访问者下一次访问是提取的信息写入了他的计算机中。假如你好有些迷糊,你可以研究一下源码Flash中的字符变量。
第三部分:"按此读取cookies"按钮 copyright dedecms
在这个教程所附的源码中你还能看见一个叫"按此读取cookies"的按钮,这个按钮用GetURL调用了另一个Javascript小程序。
文章评论
共有位Admini5网友发表了评论 查看完整内容