通過ASP在Flash中妙用Cookie

來源:互聯網
上載者:User
cookie Written by: Günter Hoffellner
Translated by: Bernhard Spuida
First published: 9/8/2000

Setting or reading cookies in Flash may be necessary for example to extend the personalization of a web
site to the Flash file.

Flash does not support direct setting and reading of cookies. Thus, you either have to take the often
published detour of using JavaScript or you just use ASP scripts to set and read cookies. This has among
other things the advantage that Flash can access cookies even when JavaScript is disabled.

The Flash File
In the following the Flash file which can read and set cookies at the client is described. The file calls
the ASP Scripts testCookies.asp, setCookies.asp and getCookies.asp to gain access to the browser's cookies
via ASP.

The Flash file tests for the permission to set client side cookies and allows entering data that is to be
stored in a cookie. The file also reads the cookie content and displays it on screen.

There are two files in the download: one .fla in English, and a second one in German. The compiled .swf is
available in German only.

The User Interface
The user interface is divided into three parts which are described in the following sections.


Figure 1: User interface in Flash

Step 1:
The user clicks the 'START TEST' button to trigger the test on the server to determine whether the browser
of the page visitor accepts cookies. The status message indicates whether the browser accepts cookies or
not.

Step 2:
In the case of cookies being accepted, the Flash movie runs on to the second part and waits for data to be
saved in a cookie. With a click on the 'SEND DATA' button, the data is transmitted to the server.

Step 3:
In the last part, the server passes the cookie data back to the Flash file where they are written into the
text fields.

The Scripts of the Flash File
The graphic part of the Flash file is built according to standard procedure and is not described in detail
for this reason.

The layer with the name 'Sourcecode' is important, as this contains the source code of the Flash file. We
will go into the details of this now.


Figure 2: Time line in Flash


//Frame 1
Set Variable: "cookies" = "false"
stop


The variable 'cookies' is initialised with the string 'false'. 'false' is used as the server does not
return the boolean values true and false, but a string with the value of "true" or "false". Flash waits
for the button click for starting the cookie test.


//Frame 2, Label step1
Load Variables ("/testcookies.asp", 0)


The file 'testcookies.asp' is called and returns 'true' or 'false' (Cookies accepted - Cookies not
accepted).


//Frame10
If (cookies eq "true")
Set Variable: "cookietest" = "Cookies can be set"
Stop
Else
Set Variable: "cookietest" = "Cookies not allowed. Please enable."
Go to and Stop ("nocookies")
End If


In Frame 10 a different message is displayed in the status field depending on the result of the cookie
test.

If cookies are not accepted, Flash jumps to the label 'nocookies', stops there and will not accept any
input but another cookie test. In the if-condition cookies eq "true" is set in quotes as the server does
not really return the boolean values of true or false, but a string which is immediately tested as such.
Also note that the string comparison requires 'eq' instead of '='.

The 'stop' command forces Flash to wait for a click event of the 'SEND DATA' button. Sending the cookie
data to the server happens as follows:


//Frame11, Label step2
Load Variables ("/setcookies.asp?cookiename="&name&"&"&
"cookiemail="&email&"&"&"cookietelephone="&telephone, 0)


In this script, a query string containing the user entries is sent to the file ' setcookies.asp'. For the
composition of the query string, refer to the article 'Data Exchange between ASP and Flash' (German only).


//Frame19, Label step3
Load Variables ("/getcookies.asp", 0)

The data read from a cookie by ASP is loaded into the Flash file.
//Frame 28
Stop


The



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.