तुम सिर्फ स्टोर और डेटा प्राप्त करना चाहते हैं, तो आप शायद SharedObject वर्ग का उपयोग करना चाहते। इसके बारे में अधिक जानकारी के लिए Adobe's SharedObject reference देखें।
यदि आप HTTP कुकीज़ तक पहुंचना चाहते हैं, तो आपको जावास्क्रिप्ट से बात करने के लिए बाहरी इंटरफेस का उपयोग करना होगा। जिस तरह से हम यहां करते हैं वह एक सहायक वर्ग है जिसे HTTPCookies कहा जाता है।
HTTPCookies.as:
import flash.external.ExternalInterface;
public class HTTPCookies
{
public static function getCookie(key:String):*
{
return ExternalInterface.call("getCookie", key);
}
public static function setCookie(key:String, val:*):void
{
ExternalInterface.call("setCookie", key, val);
}
}
आप अपने फ्लैश वस्तु में 'allowScriptAccess' पैरामीटर का उपयोग कर जावास्क्रिप्ट सक्षम सुनिश्चित करने की आवश्यकता।
तो फिर तुम
HTTPCookies.js (quirksmode.org करने के लिए धन्यवाद के साथ) के रूप में, जावास्क्रिप्ट काम करता है, getCookie और setcookie की एक जोड़ी बनाने की जरूरत:
function getCookie(key)
{
var cookieValue = null;
if (key)
{
var cookieSearch = key + "=";
if (document.cookie)
{
var cookieArray = document.cookie.split(";");
for (var i = 0; i < cookieArray.length; i++)
{
var cookieString = cookieArray[i];
// skip past leading spaces
while (cookieString.charAt(0) == ' ')
{
cookieString = cookieString.substr(1);
}
// extract the actual value
if (cookieString.indexOf(cookieSearch) == 0)
{
cookieValue = cookieString.substr(cookieSearch.length);
}
}
}
}
return cookieValue;
}
function setCookie(key, val)
{
if (key)
{
var date = new Date();
if (val != null)
{
// expires in one year
date.setTime(date.getTime() + (365*24*60*60*1000));
document.cookie = key + "=" + val + "; expires=" + date.toGMTString();
}
else
{
// expires yesterday
date.setTime(date.getTime() - (24*60*60*1000));
document.cookie = key + "=; expires=" + date.toGMTString();
}
}
}
एक बार जब आप में HTTPCookies.as है आपके फ्लैश प्रोजेक्ट, और HTTPCookies.js आपके वेब पेज से लोड किए गए हैं, तो आप HTTP कुकीज प्राप्त करने या सेट करने के लिए अपनी फ्लैश मूवी के भीतर getCookie और setCookie को कॉल करने में सक्षम होना चाहिए।
यह केवल बहुत ही सरल मूल्यों - तारों या संख्याओं के लिए काम करेगा - लेकिन कुछ भी जटिल के लिए आपको वास्तव में SharedObject का उपयोग करना चाहिए।
फ्लैश कोड वास्तव में जेएस getCookie() कॉल के लौटा मूल्य कैसे प्राप्त करता है? आपके एएस कोड में कोई रिटर्न स्टेटमेंट नहीं है। क्या यह सिर्फ बाहरी इंटरफेस कॉल का परिणाम लौटाएगा? – Herms
अच्छा बिंदु - तय। धन्यवाद! – Simon