Wednesday,
29 Apr 2009
SWFAddress 2.3
As of today SWFAddress 2.3 is available for download. It's the next stable release of the project and took a little bit more than initially planned. This update offers various fixes and few interesting optimizations requested by users. There are few backwards incompatible changes but they will affect only some exotic cases. The main new feature is the improved support for unicode values. For Firefox 3 on Mac OSX we switched from ExternalInterface to getURL/navigateToURL and had some additional troubles especially with ActionScript 3.
Here is the full list of changes:
- New public encodeURI/decodeURI methods for AS1 and AS2.
- New Unicode sample and improved support for unicode values.
- Improved detection of ExternalInterface and swfaddress.js availability.
- Improved fix for Firefox 3/Mac OSX.
- Improved degradation in uncontrolled cross-domain parent frames.
- The explicit id attribute of swfobject.embedSWF() is now optional.
- Simplified browser sniffing.
- Removed internal eval() statements.
- Removed support for swfaddress.html.
- SWFAddress.getParameter() no longer returns an empty string if the parameter is not available.
- The SWFAddress.getTracker() no longer has a default value but the behavior remains the same.
- Support for hash fragments in the SEO redirection.
- MOTW is added to all the static samples.
Posted by Rostislav at 3:15 PM in SWFAddress
Comments:
trace(SWFAddress.decodeURI(SWFAddress.encodeURI((('/test äöü €/')))));
it will trace null.
Is there any reason for not using the Flash Players native escape/unescape functions?
Regards
odd
Also another problem with all the versions of swfaddress in <span style="font-size:20px;">Internet Explorer 6</span>
I've found a bug (or whatever u call it) when using swfaddress 2.3 under Opera 9.64.
The bug is critical i think, as it crushes all URLLoaders in the application after address change.
Here's the video: http://www.youtube.com/watch?v=9ktyzN5GgCA (watch is HD to recognize the text)
I've already sent u the source code of that example.
1. the URLs generated are:
http://site/index.html#/subsection/
instead of...
http://site/index.html/#/subsection/
and... it works in firefox 3 but not IE 7. It seems to move the pages around but its not appending the page to the url. everything says...
http://site/index.html/
thanks so much for your help.
I have tried with <meta http-equiv="X-UA-Compatible" content="IE=7" /> and with <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />, but it's still not working.
If I activate the comptability mode directly in IE8 it works. But this is not a solution for me. It seems that I have tried everything.
any help would be appreciated.
Thanks
I have a quick request, hopefully someone can save me hours/days/weeks/my soul :)
I'm building websites in FP9 AS2 — could someone please point me towards the correct versions of the AS, JS and HTML files for this type of output. Nothing I've tried from within the 2.3 package seems to work in FP9 AS2.
Many thanks in advance
I've got dynamicly loader page (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
example:
setTimeout(function() {
//do your embedding in this anonymous function if you want
}, 0)
this has saved us numerous times already.
is this a known bug?
Check the SVN copy because I have applied a patch to this function recently. There is no native decodeURI is AS2.
I have problems with the titlebar and tabbar that isn't changing in IE8! In firefox all works well, only in IE8 it shows only the changing URL. How can I fix this?
With kind regards,
Jessica
There is a known IE related loading issue introduced with 2.3. It's fixed in the SVN and will be a part of the next release. I will appreciate any preliminary testing.
You can get the latest files from http://bit.ly/X4lJo
@Bull
It won't work if you're on a Mac because of an issue with FP9+. Get the latest AS and JS files from the link above and it should be fine.
swfobject.embedSWF("${swf}.swf", "wrapper", "100%", "100%", "9.0.0", "expressInstall.swf", {data:encodeURI(innerXHTML(document.getElementById("wrapper")))}, {});
the data object when it shows up in flash is null. When I comment out the swfaddress include, everything works fine. Is this a known issue? Is there something I can do to make this work?
Thanks for any info.
Matt
Seems like the getQueryString() function in AS3 is not returning the query string. I have to use getPath() to get it.
AT
/dist/js/swfaddress-uncompressed.js
Please, lets move longer discussions to the forums.
"Object doesn't support this property or method"
Also the SWFAddress does not change the URL in IE8 ?
Please HELP!!!
http://localhost/seo/
to simulate the experience of an iPhone or Search robot. When I click on a link to About I get this error:
"The requested URL /swfaddress/samples/seo/index.php was not found on this server."
However when I put the seo example in the folder structure:
http://localhost/swfaddress/samples/seo/
Everything works just fine. So my question is, when using
http://localhost/seo/ where is swfaddress/samples/ coming from? What code is setting that?
>@Ben
>You should adjust the RewriteBase path in the .htaccess file which is often hidden in OSX.
Thank you! That worked. I used Terminal with the "ls -a" command to show the .htaccess file. Then used "pico" to edit. Also here is a How-to link to show all hidden files in Finder:
http://www.osxfaq.com/DailyTips/02-2005/02-01.ws
> Please, post SWFAddress questions in the appropriate posts.
Sorry.
line 11 is:
class SWFAddress {
Needs to be:
class com.asual.SWFAddress {
(Same with the swfaddressevent class)
I have a persistant problem with SwfAddress.
It appears that when my flex application is loaded directly to my navigator, change event is transmited to my application. But if it's embedded in an html page, event is only transmitted on page loading, and that's all.
I can change URL, nothing appear..
Could you help me ? I spent already 2 days on the problem and didn't find any solution :(
Thanks a lot
I think the problem you're describing is related to https://bugzilla.mozilla.org/show_bug.cgi?id=435932
On Firefox and Safari works fine.
I hope we agreed that the packages are fine.
@FJ
What is your setup? Are you using all these browsers in a single operating system? Can you reproduce the issue with the online samples?
import com.asual.swfaddress.SWFAddressEvent;
2.1 up to 2.4
i have intentionally used your examples in your svn. so by going to each version and running the flex example, you should be able to replicate the behaviour, specifically for
Internet Explorer (All Versions).
you'll notice that if you click the following items in this order:
File, Edit and then View.
then select the back drop down list you will see the last item label ends in "File" where as it should be labelled "Edit". However, if you select this item , it will take you to the Edit screen.
im not sure if anyone else has come across this problem, but its very misleading to the end user.
If you try this in the SWFAddress 2.0 you will see it works correctly.
----------------------------------------------------------------------------------------------------------------------------
Also another problem with all the versions of swfaddress in Internet Explorer, is when you change the URL manually (the paramater part) you will notice the whole SWF reloads. Whereas the correct behaviour is that it should only change the view within the SWF. I have tested this on all other IE Browsers and dont have a problem, but Internet Explorer 6 is still widely used by end users.
I hope this feedback helps, and i look forward to new release with these fixes.
Great work just needs fine tuning.
Hi.
unicode does not work on Opera on Mac OS X 10.5.6. Got conf Opera 9.64 build 5270.
Embedded with swfobject v.2.2
I know that on Your configuration it works but on mine is not. I saw similar issue above - Hipopotam got it.
cheers.
Could you add support for jQuery as well please, hopefully it's not a big deal once you wrote jQuery Address.
Thanks a million!
I'm trying to get a site working for Safari 4 Beta 2. I've just tried to migrate to SA 2.3 and can't seem to get an initial variable passed from the html file to the base flash file. In the old version of SA I was using, it worked like so:
var so = new SWFObject('c.swf?path=website.swf', 'website', '100%', '100%', '8', '#CCCCCC');
so.useExpressInstall('swfobject/expressinstall.swf');
so.addParam('initPage', 'welcome');
so.write('content');
This code passed a variable called initPage with a value of 'welcome' to the flash file, which I then used to load in my first external swf (welcome.swf).
Starting to lose my cool on this. Can somebody please let me know the equivalent to the above code for SA 2.3
I'm publishing Flash V9 AS2
Thanks a whole lot in advance
Thanks,
Chris
To cut a long story short, to see the correct url I have to change tab and then go back. If I don't have tab open, I cannot see the correct URL.
I can imagine that this can be a Safari bug, but I think you should have a look at this issue.
http://sourceforge.net/project/downloading.php?group_id=181584&filename=swfaddress-2.2.zip&a=8448630
It will give the chance IE8 to work as IE7 and then all will work perfectly!
example:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>my page</title>
<meta http-equiv="X-UA-Compatible" content="IE=7" />
Yes, there is such a bug and it wasn't detected because all the AS2 samples target FP8. The AS3 already contains a workaround and I just committed it for AS1/AS2. You can get the latest AS files from the SVN or wait for a maintenance release.
Thanks for the info, it's working with the version from SVN... btw, there is a decode functionality in AS1/2, and it's really called unescape, i've used it as a temporary workaround, and unlike escape (which seems to even convert slashes) it worked fine ;)
http://help.adobe.com/en_US/AS2LCR/Flash_10.0/00000614.html#162679
But there might be problems with unescape that i'm no aware of...
Regards
odd
Couldn't it be an option? It's rather simple to "hack" by commenting the line out in setValue.
I have tried with <meta http-equiv="X-UA-Compatible" content="IE=7" /> and with <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />, but it's still not working.
If I activate the comptability mode directly in IE8 it works. But this is not a solution for me. It seems that I have tried everything.
sf says to see the forum!
What forum?
What's the doctype that should be used?
thanks
Please i need some urgent help with this - if anyone can advise i would be greatful!
the history back is not populated in IE8 in case of a flex application !!!
HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEELP!!!!!!!!!
However, I have a little problem with the swfaddress functionality. Whenever I navigate back to home page (myaddress/#) from another page (myaddress/#otherpage), the browser scroll jumps on top of the page, when I'd actually like to remain at the same scroll position (my flash object is taller than the browser window).
If instead of navigating to home (myaddress/#) I use the browser back button (which would take me to myaddress/, without the hash), the scroll position remains the same, just like I wanted.
Thus, the question is, is there a way to make the swfaddress to set the browser url to myaddress/, without the hash?
Thanks in advance!
Downgraded to Flash V8 everything worked fine.
is there some bug if loaded AS2 on Flash v10?
I have the error on WIn XP with:
IE 6.0 (6.00.2900.2180)
IE 7.0 (7.00.5730.13)
IE 8.0 (8.00.6001.18702)
SWFAddress 2.3 nulls Flash Vars. I'm using SWFObject to render the flash. With SWFAddress 2.3, I get null flashvars, with 2.1 and 2.2, I get it working properly. Can you please fix this Fatal Error?
In my case, I got this in IE8(final)'s Compatibility mode. With compatibility mode off and SWFAddress 2.3, evertyhing worked as expected, but with compatibility mode on, the flashvars are nulled out unless i go down to 2.2 or 2.1.
Lastly the reason I dont wanna go down to 2.1 or 2.2 is because the deeplinking does not seem to be working online in IE with those older versions. I've built other flash sites on 2.1 so I dont know whats up.
Meldung: Object doesn't support this property or method
Zeile: 8
Zeichen: 3164
Code: 0
URI: swfaddress.js
:-(
I think there is a strange problem with the input text.
http://www.travelenmorocco.com is the address that I have problem with. From index.html-->index.swf-->loads content_en.swf
Under Make a Reservation section there are input texts. Everything works till you use special characters. For example I cannot enter ĞÜŞİÖÇ characters in capitals. When I try it in Flash Player it works fine and when I publish the html from Flash it works again but when I use Swfobject and SwfAddress it doesn't.
I don't know if it is swfobject or swfaddress but it is fine with standard AC_RunActiveContent.js.
I use Flash CS3-AS2-Swfobject2.1-Swfaddress2.4 and Turkish keyboard.
Regards
Seçkin
The problem is that you use opaque wmode in your swfobject version. It's an old Flash Player bug.
Do you get these errors with the provided samples? If not then try using the uncompressed version and see what's happening.
@Hipopotam
Works great here on Leopard with Opera 9.64.
Some people reported a blank page/flash in IE [works great in all other browser]. I get the same thing and do not seem to find why. What am I doing wrong ?
Thanks.
@Roel and AJ
It's very likely that these problems are caused by the usage of innerHTML instead of document.body.appendChild(). I switched to innerHTML for IFRAME creation in the latest 2.3 release because it was much more stable when it comes to preserving history in IE. I will look into the issue.
@Timo
I'm afraid that this is not possible in every browser. Currently the behavior is unified.
@iongion
Unfortunately I still haven't found the time to test this behavior. The library isn't doing anything intentionally with FlashVars but it might be a side effect.
@Og2t
You just need to use SWFAddress.addId(flashObjectId) in order to use the library with any Flash embedding script.
There are few IE related bugs that have been fixed in the SVN repository and this issue is very likely gone. The new official release is coming soon.
Everything is good once i visit the link.
http://www.flipscript.com.cn/projects/nb88/#
If the swf is being loaded. And visit the link again.
" function handleSWFAddress " is not running and
e.value is not being taken automactically.
So, how to make sure " function handleSWFAddress " run itself ?
Or what wrong i did ?
In safari, when you rollover / change pages / movieclips, it gives a blank page / white flash (seems to reload the page each time).
any ideas / fixes for this? you can see the bug at www.valhallaconquers.com/test
you guys rock! Thanks alot for pushing this into the community. Don't know if it's an SWFAdress issue but I wanted to adress it here:
MAC OSX
Firefox 3.6
1.change the URL in the adress bar but DON'T push Enter
2.click a certain menu item in your flash
RESULT:
no more url changes in the browser, ONLY firefox though, all other browsers work fine.
Does anyone know this issue and has a work around?
Cheers,
Joris
AT
Many thanks for SWFAddress, hands down its a fantastic resource. One piece of advise would be appreciated, I am trying to completely clear the Address Bar of all URL history as it seems on browser refresh that url's are still showing, after trying all relevant methods from the API I still find nothing quite works, any tips?
Cheers,
S
thx
"Attribute only valid on v:image"
and selects:
"if(el.childNodes[i].src)"
For a text component I am planning to built I would like to use fragments so that a user can jump to anchor position in a text. To get this work I need the fragment part of a url, e.g. 'part4' fragment in the url 'www.test.com/#/tests/testdoc.htm#part4. Is this possible now? And if, how can I retrieve the fragment through SWFAddress?
For me it works perfectly in IE6, IE7, Firefox 3 and Chrome with the infamous Vista os.
Thanks so much!
@Hipopotam and dada
It looks like I haven't red the comment correctly and the issue you're describing exists here too. I think IE will always show such entries like this and therefore I don't find it as a major problem. Anyway I will try to improve the Opera behavior in the next release.
@Beve
This is the behavior I'm targeting but the value parsing and page scrolling should be implemented manually.
Great work with the SWFAddress! I have some issues with IE. It's pretty bad in IE7. I'm building an application in Flash CS4/AS3 + SWFAdd 2.2. Whenever I click on a link like asual.com/pages/#getpage the browser address changes to asual.com/pages/#/getpage. I'd have to click the link about 3-4 times to get it to display right. This is very critical in my application as #getpage and #/getpage mean different things entirely.
Also, IE7 caches browser states with '#' and this doesn't favor me cos I need each request to request a new state.
I also discovered that if I clicked a link twice like, asual.com/#/page the whole application will be reloaded. Everything else works perfectly on my Mac Safari 4, Mozilla, Opera etc. But IE is most used.
Please help me as this is the final phase of development.
Regards.
'_2d.contentWindow' es nulo o no es un objeto.
i use IE8... with this error not enabled the functions of flash! :( Please Help!!!