[SWFObject] external interface problems

Maurice Moore info at madcomputing.com.au
Mon Oct 16 23:45:11 PDT 2006


Hi Aran,

thanks for that, i thought i would persist with the server side cookies, 
although your approach has less code and doesnt rely on server 
scripting. i will look into your solution now.

attached is my solution. as it no longer requires javascript it is cross 
browser.

live url is here: http://bmewaste.com.au/

thanks again,

maurice

Aran Rhee wrote:
> Maurice
> 
> Flash objects can be used by any flash file, so you could have an
> "invisible" flash file reading values and doing something on a hybrid site.
> Flash objects can be written/read at any time once the flash file has loaded
> (to do the reading/writing as required). 
> 
> Attached is a wrapper class I wrote to give easy access to read/write/delete
> methods. It is comprised of static methods so you can do something like:
> 
> import LocalData;
> 
> // save record
> LocalData.save("mysite", "lastUrl", "home.html");
> .
> .
> .
> // load it later
> var last : String = LocalData.load("mysite", "lastUrl"); 
> trace(last) // displays "home.html"
> 
> 
> Aran
> 
>> -----Original Message-----
>> From: swfobject-bounces at lists.deconcept.com 
>> [mailto:swfobject-bounces at lists.deconcept.com] On Behalf Of 
>> Maurice Moore
>> Sent: Tuesday, 17 October 2006 3:57 PM
>> To: swfobject at lists.deconcept.com
>> Subject: Re: [SWFObject] external interface problems
>>
>> Hi Aran,
>>
>> I tried but could not get that to work either.
>> I posted on flashkit to ask if it was only suitable for full 
>> flash sites, but got no answer. but i read somewhere that 
>> this is the only time it is available after a page refresh ??
>>
>> regards,
>>
>> maurice
>>
>> Aran Rhee wrote:
>>> Maurice.
>>>
>>> Sorry if you've already thought of this, or if it 
>> unsuitable for your 
>>> needs, but why don't you use flash shared objects rather 
>> than cookies ?
>>> You can store all kinds of objects in the structure (even 
>> full history 
>>> management, complex nested objects etc)
>>>
>>>
>>> Aran
>>>
>>>> -----Original Message-----
>>>> From: swfobject-bounces at lists.deconcept.com
>>>> [mailto:swfobject-bounces at lists.deconcept.com] On Behalf 
>> Of Maurice 
>>>> Moore
>>>> Sent: Tuesday, 17 October 2006 12:58 PM
>>>> To: swfobject at lists.deconcept.com
>>>> Subject: Re: [SWFObject] external interface problems
>>>>
>>>> thanks for that,
>>>>
>>>> i am converting it to actionscript classes that fully abstract the 
>>>> cookie and use a broker pattern to serve the cookie objects and 
>>>> persist them so i can re-use it with any server language.
>>>>
>>>> thanks again
>>>>
>>>> maurice
>>>>
>>>> Geoff Stearns wrote:
>>>>> getURL won't return anything, only calls that you make through 
>>>>> external interface.
>>>>>
>>>>> normally when i set up things like this, i set up the js
>>>> functions in
>>>>> the html (or in a js file) and then just use external 
>> interface to 
>>>>> call those functions, and that allows you to get return values.
>>>>>
>>>>> it also makes it much easier to troubleshoot things, since
>>>> you can put
>>>>> in alerts and whatnot to see where the script is failing.
>>>>>
>>>>>
>>>>>
>>>>> On Oct 16, 2006, at 7:12 PM, Maurice Moore wrote:
>>>>>
>>>>>> hmm.. now i remember.
>>>>>>
>>>>>> i couldn't work out how to return something to flash when i use 
>>>>>> geturl to invoke the cookie 'get' function. at the moment
>>>> it returns
>>>>>> the value but
>>>>>>
>>>>>> return getURL("javascrtipt:getCookie('page');");
>>>>>>
>>>>>> wasnt returning anything.
>>>>>>
>>>>>> any ideas?
>>>>>>
>>>>>> maurice
>>>>>>
>>>>>> nyls wrote:
>>>>>>> mm.. so you write the JS functions through the external 
>> interface 
>>>>>>> call ..
>>>>>>>
>>>>>>> Did you try putting the cookie javascript outside the
>>>> flash (on the
>>>>>>> page or in a .js file ??)
>>>>>>>
>>>>>>> Nyls
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -----Oorspronkelijk bericht-----
>>>>>>> Van: swfobject-bounces at lists.deconcept.com
>>>>>>> [mailto:swfobject-bounces at lists.deconcept.com] Namens
>>>> Maurice Moore
>>>>>>> Verzonden: Monday, October 16, 2006 4:35 PM
>>>>>>> Aan: swfobject at lists.deconcept.com
>>>>>>> Onderwerp: Re: [SWFObject] external interface problems
>>>>>>>
>>>>>>> hi and thanks for the replies,
>>>>>>>
>>>>>>> the javascript is set from within the flash and is below
>>>> (this is my
>>>>>>> first time at a mailing list and the format is all over
>>>> the place,
>>>>>>> sorry).
>>>>>>>
>>>>>>> the actual actionscript that calls the following class 
>>>>>>> 'CookieBroker' is as follows
>>>>>>>
>>>>>>> ------------------
>>>>>>> function GetPage(pageToLoad)
>>>>>>> {
>>>>>>> 	if(pageToLoad == "/") { pageToLoad = "/?"; }
>>>>>>> 	var val = CookieBroker.GetCookie("page");
>>>>>>> 	if (val == undefined || (pageToLoad.indexOf(val) < 0))
>>>>>>> 	{
>>>>>>> 		CookieBroker.SetCookie("page", pageToLoad, "/");
>>>>>>> 		getURL(pageToLoad);
>>>>>>> 	}
>>>>>>> }
>>>>>>> ------------------
>>>>>>>
>>>>>>> then on(release) of the nav i call
>>>>>>>
>>>>>>> on(release)
>>>>>>> {
>>>>>>>    _root.GetPage(_root.HomePage); // or _root.GetPage 
>>>>>>> (_root.ContactUs); }
>>>>>>>
>>>>>>> // the pages are set as constants, so i can do the checking
>>>>>>> ------------------
>>>>>>>
>>>>>>> <script type="text/javascript">
>>>>>>>    // <![CDATA[
>>>>>>>    var fo = new SWFObject("/swf/navigation.swf", "nav",
>>>> "771", "75",
>>>>>>> "8", "#FFFFFF");
>>>>>>>    fo.write('flash_container');
>>>>>>>    // ]]>
>>>>>>> </script>
>>>>>>>
>>>>>>> and the .as file i include for the external interface is this
>>>>>>>
>>>>>>> import flash.external.ExternalInterface;
>>>>>>> /*
>>>>>>> * CookieBroker Class to manage javascript cookies within
>>>> the flash
>>>>>>> movie */ class CookieBroker {
>>>>>>> 	//
>>>>>>> 	private static var write_cookie:String = "function
>>>> set_cookie(name,
>>>>>>> value, path) {  var cookie = name + \"=\" + escape(value) + \"; 
>>>>>>> path=\"
>>>>>>> + escape(path); document.cookie = cookie; }";
>>>>>>> 	//
>>>>>>> 	private static var get_cookie:String = "function
>>>>>>> get_cookie(cookie_name) { var results = 
>>>>>>> document.cookie.match(cookie_name + '=(.*?)(;|$)'); if 
>> (results) 
>>>>>>> return (unescape(results[1])); else return null; }";
>>>>>>> 	//
>>>>>>> 	private static var remove_cookie:String = "function 
>>>>>>> removeCookie(name){var cookie = name + \"=\";cookie += '; 
>>>>>>> expires=Fri, 02-Jan-1970 00:00:00 GMT';document.cookie =
>>>> cookie;}";
>>>>>>> 	//
>>>>>>> 	public static function SetCookie(name:String, 
>> value:String, 
>>>>>>> path:String):Void
>>>>>>> 	{
>>>>>>> 		ExternalInterface.call(write_cookie, 
>> name, value, path);
>>>>>>> 	}
>>>>>>> 	//
>>>>>>> 	public static function GetCookie(name:String):Object
>>>>>>> 	{
>>>>>>> 		return ExternalInterface.call(get_cookie, name);
>>>>>>> 	}
>>>>>>> 	//
>>>>>>> 	public static function DeleteCookie(name:String):Void
>>>>>>> 	{
>>>>>>> 		ExternalInterface.call(remove_cookie, name);
>>>>>>> 	}
>>>>>>> }
>>>>>>>
>>>>>>> when i run the page in FF there are no problems, but in 
>> IE i get 
>>>>>>> three errors.
>>>>>>>
>>>>>>> 1. 'nav' is undefined @ line 0
>>>>>>> 2. 'nav' is undefined @ line 0
>>>>>>> 3. 'nav' is undefined @ line 55
>>>>>>>
>>>>>>> any ideas please?
>>>>>>>
>>>>>>> regards,
>>>>>>>
>>>>>>> Maurice
>>>>>>> Click2Install Software
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> SWFObject mailing list
>>>>>>> SWFObject at lists.deconcept.com
>>>>>>> http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> SWFObject mailing list
>>>>>>> SWFObject at lists.deconcept.com
>>>>>>> http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com
>>>>>>>
>>>>>> --
>>>>>>
>>>>>> MaD Computing Solutions
>>>>>>
>>>>>> W: http://www.madcomputing.com.au
>>>>>> E: info at madcomputing.com.au
>>>>>> P: 02 4936 1782
>>>>>> M: 0411 416 368
>>>>>>
>>>>>> ---
>>>>>>
>>>>>> The information contained in this email is confidential and is 
>>>>>> authorised to be viewed by the intended recipient only. If you 
>>>>>> receive this email in error please delete it.
>>>>>> _______________________________________________
>>>>>> SWFObject mailing list
>>>>>> SWFObject at lists.deconcept.com
>>>>>> http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com
>>>>> _______________________________________________
>>>>> SWFObject mailing list
>>>>> SWFObject at lists.deconcept.com
>>>>> http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com
>>>>>
>>>> --
>>>>
>>>> MaD Computing Solutions
>>>>
>>>> W: http://www.madcomputing.com.au
>>>> E: info at madcomputing.com.au
>>>> P: 02 4936 1782
>>>> M: 0411 416 368
>>>>
>>>> ---
>>>>
>>>> The information contained in this email is confidential and is 
>>>> authorised to be viewed by the intended recipient only. If you 
>>>> receive this email in error please delete it.
>>>> _______________________________________________
>>>> SWFObject mailing list
>>>> SWFObject at lists.deconcept.com
>>>> http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com
>>> _______________________________________________
>>> SWFObject mailing list
>>> SWFObject at lists.deconcept.com
>>> http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com
>>>
>> -- 
>>
>> MaD Computing Solutions
>>
>> W: http://www.madcomputing.com.au
>> E: info at madcomputing.com.au
>> P: 02 4936 1782
>> M: 0411 416 368
>>
>> ---
>>
>> The information contained in this email is confidential and 
>> is authorised to be viewed by the intended recipient only. If 
>> you receive this email in error please delete it.
>> _______________________________________________
>> SWFObject mailing list
>> SWFObject at lists.deconcept.com
>> http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> SWFObject mailing list
>> SWFObject at lists.deconcept.com
>> http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com

-- 

MaD Computing Solutions

W: http://www.madcomputing.com.au
E: info at madcomputing.com.au
P: 02 4936 1782
M: 0411 416 368

---

The information contained in this email is confidential and is 
authorised to be viewed by the intended recipient only. If you receive 
this email in error please delete it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CookieBroker.rar
Type: application/octet-stream
Size: 622 bytes
Desc: not available
URL: <http://lists.deconcept.com/pipermail/swfobject-deconcept.com/attachments/20061017/f9710d61/attachment-0005.obj>


More information about the Swfobject mailing list