New video tutorial on using SWFAddress

I just uploaded a new tutorial that shows you how to enable direct and deep linking using the SWFAddress library. Deep linking is just another name for making the back button work. This tutorial also goes over a couple of potential gotchas that you need to avoid in order to get SWFAddress working properly. Adding this functionality will make your users very happy and, in the end, that’s what it is all about.

Lee

Comments

  1. April 9th, 2009 | 2:47 am

    Wow Lee, your on fire this week with the tutorials :)

  2. April 9th, 2009 | 2:55 am

    Woot Go lee with he tutorial marathon.

  3. kaiserkingkaiser
    April 9th, 2009 | 2:56 am

    hey lee, what happen to you man?
    did you eat or drink something?
    take it easy lee, im learning them one at a time, you are giving me a hectic learning schedule here… hehe…

    kidding aside, thank you lee for sharing your knowledge to the adobe community, really really really appreciate it…

    God bless always and keep them coming…

  4. soyek
    April 9th, 2009 | 3:12 am

    At last! This is the one I was waiting for a long time now.
    Thank You so much Lee!

  5. vitaLee
    April 9th, 2009 | 3:17 am

    Lee, you should consider reducing your ‘ReD Bull+Chocolate’ portions. :D
    you get 10 points for the great shot with this video. :)
    thanks man.

  6. david
    April 9th, 2009 | 4:04 am

    Hi, great tut.
    i find really hard to implement the swfaddress listener when using subsections or inner elements in the page that are dynamic (ie the structure of the site comes from an xml) and mostly when i’ve got plenty of transitions between sections.
    Using the back button (fast) seems to crash all the transitions because i couldn’t get to manage all the timings and intervals..
    any ideas?
    thanx

  7. April 9th, 2009 | 4:23 am

    Wauwwww Leeee,

    Thank you so much for these tutorials. Its really the best tutorials!!
    Hope you will give them for a really long time.

  8. Nick Brown
    April 9th, 2009 | 4:25 am

    Great stuff Lee – the last 4 tutorials you’ve done have been so relevant to what we’re going through and need at the moment. Can’t praise you enough!

  9. April 9th, 2009 | 4:46 am

    This is helpful. Thank you for sharing this.
    Are there any kind of limitations in using this? I mean, the example you used was kind of ‘basic’, I am wondering if it works with complex applications also.

  10. Riley
    April 9th, 2009 | 6:11 am

    Hi Lee, thanks for the tutorial. I setup swfaddress for a flex site last week and it’s a little more tricky. What is the difference between swfaddress and flex’s history manager?

  11. hicham
    April 9th, 2009 | 6:58 am

    Hi everyone,
    thanks so much Lee,

  12. Mike
    April 9th, 2009 | 7:19 am

    Great tutorial Lee!

  13. April 9th, 2009 | 8:37 am

    Has anyone successfully implemented this in Safari 4 beta? I can paste a deeplink into the browser and it recognizes it however clicking around in the app isn’t setting the address bar.

    I believe in the tutorial Lee is using Safari 3?

    Thanks.
    /s

  14. adrian
    April 9th, 2009 | 9:47 am

    Grate tutorial Lee, can you also make on of search engines best practices?

  15. adrian
    April 9th, 2009 | 9:50 am

    Grate tutorial Lee, can you make one for search engines best practices?

  16. samBrown
    April 9th, 2009 | 9:55 am

    great tut – thanks for the post!

  17. April 9th, 2009 | 10:04 am

    Thanks for the tutorial, I was wrestling with this last week for a site I’m working on, but it was great to hear you give a clear example on how it works and what to watch out for.
    Thanks.
    -Chris

  18. April 9th, 2009 | 1:47 pm

    Guess there’s a flaw in my project structure because the example files provided are working in Safari 4.

    /s

  19. April 9th, 2009 | 2:27 pm

    you are so! on a roll Lee, i love these new tutorials, covering facts & stuff where other tutorials end.

    keep this level up

  20. April 9th, 2009 | 2:28 pm

    Hello Lee!

    I thought this was going to be native in the flash player, and all you would have to do it call a function and it would deep link for you depending on the string you pass.

    -Mathias

  21. April 10th, 2009 | 5:39 am

    [...] lee Brimelow historymanager http://theflashblog.com/?p=911 [...]

  22. hicham
    April 10th, 2009 | 2:43 pm

    Hi everyone
    he just uploaded a new tutorial with this title :Custom Flex Preloader
    check it in gotoandlearn
    haha lee GOTCHA !!!

  23. April 11th, 2009 | 9:06 pm

    Cool stuff, I’ve been using this for ages both in Flash sites and Javascript. It’s cool to see you do a tutorial on it though, it’s a pretty essential part to any flash site.

  24. April 12th, 2009 | 12:22 pm

    Great series of tutorials Lee. Really needed this one.

    Also did the custom Flex preloader tutorial as well. That was pretty cool. Most of the RIAs I’ve seen are still using the built-in preloader for Flex so this was a worthwhile tutorial.

    I’m still making the transition to AS3 but since I’ve been using Flex, I’ve found my learning curve for AS3 become easier. I’m primarily a Flash developer but Flex has widened the boundaries and I’m finding it easier to learn.

    What would be cool is how to make a blog or guestbook in Flex powered by AMFPHP.

  25. Tim
    April 13th, 2009 | 6:06 am

    This one is great lee!

    I was on vacation but i’m back now and i got some work to do:P

    My appreciation for this one!

    Grtzz

  26. Ian
    April 13th, 2009 | 1:18 pm

    Thanks for the tutorial! Yet one more reason for me to familiarize myself with SWFAddress.

  27. royalpropaganda
    April 13th, 2009 | 2:45 pm

    Hmm,
    After some time I realised the SWFAddress only works in the site’s root.

  28. cicit
    April 13th, 2009 | 8:33 pm

    Hi Lee

    Great Tuts btw, I have one question how is the best way to solve this, my case is :
    lets say your URL is
    http://www.yoursite.com/#/Biography
    but some people will put the address on the browser
    http://www.yoursite.com/#/Biography/ –> with the “slash” or vice versa
    you know, we pass the URL now and then and people may not pay attention to slashes

    so, the best way is to put more logic in the
    switch (e.value){
    case “/Biography” : dosomethingA
    case “/Biography/” : dosomethingA
    }

    can somebody enlight me?

  29. April 14th, 2009 | 3:44 am

    [...] > The Flash Blog » New video tutorial on using SWFAddress [...]

  30. steve
    April 17th, 2009 | 1:55 am

    Does the # in the url stop Google indexing the content (from a seo point of view)

  31. April 20th, 2009 | 11:14 am

    Thanks for the tutorial!

    I have implemented it in my personal website, take a look here http://www.plastikaweb.com/index_eng.htm and I think works perfect!

  32. April 22nd, 2009 | 12:33 am

    i would love to know how to do this same functionality in as 2!
    any ideas people?

  33. April 27th, 2009 | 5:45 am

    @Steve,
    yes, Google doesn’t index this. Check out the SEO Sample @ the Asual website, a solution is offered there.

    @Simon,
    On the Asual website AS2 examples can be found.

  34. Odrakir
    April 28th, 2009 | 5:50 am

    Hi Lee,

    I have a question, wouldn’t the code inside the CLICK handler be called twice when the users clicks a button? One time when it’s clicked and a second time when the onChange event calls it again.

    It is not a problem in your example, as you don’t have any intro animations or so, but it could be a problem in some other structures. Wouldn’t it?

  35. Andy M
    May 2nd, 2009 | 2:22 am

    I keep getting this message when I try to open the downloaded file in my browser (tried it with Safari 3, 4 and Firefox):

    SecurityError: Error #2060: Security sandbox violation: ExternalInterface caller file:///Users/andymarlow/Desktop/bea-1/bea.swf cannot access file:///Users/andymarlow/Desktop/bea-1/bea.html.
    at flash.external::ExternalInterface$/_initJS()
    at flash.external::ExternalInterface$/addCallback()
    at com.asual.swfaddress::SWFAddress$/_initialize()
    at com.asual.swfaddress::SWFAddress$cinit()
    at global$init()
    at bea_fla::MainTimeline/frame1()

    Any ideas how to stop this? It displays the SWF from the examples but with all the layers showing (on top of each other).
    Any advice would be much appreciated.
    Thanks,

  36. Andy M
    May 3rd, 2009 | 3:51 am

    Re the above post: i´ve got rid of the security message by installing the latest debug version of Flash. However, whereas the SWF displays fine in the stand alone flash player, it doesn´t display correctly in the browser (it still shows all the layers on top of each other…

    Any ideas? this is driving me nuts..

  37. alex
    May 7th, 2009 | 4:09 am

    hi Lee

    could you tell me why the downloaded file bea.fla will not open for me in CS3?
    I really want to look at the source.

    cheers
    Alex

  38. Darryl Snow
    May 10th, 2009 | 7:37 am

    @alex

    It’s because it’s a CS4 file. It’s definitely worth upgrading, if not for the smart new interface and cool features, but then to check out Lee’s tutorial files.

  39. Naresh
    May 19th, 2009 | 6:23 am

    Hi Lee,

    It is great tutorial. But I don’t see how can I disable back button if it is possible using swfaddress OR if I need a functionality like if user clicks on back button then how can I prevent user from going to previous site which is different from current site?

    Thanks,

  40. TMK
    May 22nd, 2009 | 6:06 am

    Great tutorial! But I’ve got a small problem = my page is dynamicly loaded (all in one frame) by varieble _State. I need to send that var in my address, how to make it? ex. _State = 2?

    Thanx!
    TMK

  41. May 23rd, 2009 | 7:33 am

    super cool but it doesnt work
    bea.html
    i get all clips visible and on top of each other.
    anyone solved it?

    thanks :)

  42. May 23rd, 2009 | 7:42 am

    well, i sort of fixed it but tha url isn’t responding…
    do i have to put it on-line ?
    i’m really confused pls help

  43. sean
    May 26th, 2009 | 3:12 pm

    there may be an error in your files:
    when viewing bea.html, i’m also getting all the MCs visible and ontop of eachother. Clicking the links is non-responsive. Note this is just when viewing within a browser window (safari, firefox on osx). viewing the swf directly seems to work (or course then you can’t see the swfaddress in action).

  44. uk
    May 28th, 2009 | 4:42 am

    Yeah.. I have exactly the same problem. Anyone can help? Lee? :)

  45. Andy M
    June 4th, 2009 | 4:57 am

    Re Dominik / Sean:

    copy the ‘com’ folder from the SWFAddress files and paste it into the same folder as Brimelow´s files…

  46. navanath
    June 12th, 2009 | 5:12 am

    hey lee,

    The tutorial is very nice explained. thanks but, I have one question that i could not understand the “var attributes = {id:”bea”}” that u written in bea.html file. I know that u have explained it to see the swfobject reference but i want to know that what is this attribute variable is holding? Is the value is same every time that is “bea” or is it change dynamically? please explain in more details.

    Thanks,
    Navanath

  47. July 3rd, 2009 | 12:50 am

    Just a quick note for anyone frustrated out there if slightly more complicated swfaddress applications seem to be not preloading. There is a problem with accessing a deep link with a large swf, the swf must be loaded prior to ANYTHING being visible, which is a pain. The solution to this is to have a main preloader (very tiny) which will always load the main content. You pass the swfaddress into the preloader and activate the onChange. This will then allow you to preload the main content seperately. Once main content is in, pass the previously recorded SWFAddress details into main via a function, disable the existing onChange event and then .. make sure that SWFAddress is also inside the main content with its own onChange event.

  48. nagarajan
    September 25th, 2009 | 10:40 pm

    wonderful tutorial lee,

  49. wiyono
    September 28th, 2009 | 6:51 am

    I have flash pro 8, can i make with swfaddress?
    please help me!
    i try to download your source, but don’t go…

    Pleaseee help me…

    Thanksss..

  50. Ody
    November 1st, 2009 | 8:36 am

    Greetings,

    I think the information you have on Adobe on how awfaddress is cool. However I have questions:

    1. How can I add buttons just like the one on the tutorial that could activate video so it will play when a visitor clicks on the thumbnails to play video on my site? When I mention buttons, I meant buttons like you have on the tutorial or if I may add, like the ones you find on “You Tube”

    I also will like to add uploader so visitors could upload their own videos as well to my site that could also generate clickable thumbnails.

    2. How can I create this uploader to achieve this goal and what else will it take or what plug-in software do I need to succeed?

    Thanks for your help.

    Ody.

  51. Stef
    November 17th, 2009 | 8:49 am

    @ Odrakir post 34:

    You’re right, it is indeed a problem. If you try to trace the onClick handler, it will fire twice. This is actually quite a big of an issue, so even though im a big fan of all the tuts here, I think the good Mr. Lee was a bit quick on this one.

    And like Andy M mentions; to all of you who cant get this to work, download and copy/paste the “com” folder into the default application folder, then it works.

  52. November 24th, 2009 | 8:54 pm

    @ Odrakir & @ Stef

    I just spent an hour trying to figure out why i was doubling up all my data….

    Did anyone figure out a better example?

  53. January 27th, 2010 | 10:35 am

    Thank you Lee, that tutorial was brilliant! Unfortunately, my site uses AS2 at the moment, but with a little bit of tweaking if works perfectly.
    I even wrote a tutorial on it for AS2, it’s at http://bit.ly/aI5QnW

    Cheers and keep up the good work!

  54. January 29th, 2010 | 9:21 am

    Hi, Lee.
    I wondered if u could make a tutorial for the SWFSize lib?
    Yeap, i can manage to do it myself, but, god, i like the way u do the tutorial ^_^

Leave a reply