Flash Player 9 har ændret på getURL - arrrggghh!

Efter at have fået Flash Player 9 installeret begyndte et af vores eksisterende Flash sites pludselig at opføre sig meget mystisk. Ingen af de knapper der brugte getURL virkede mere, eller det vil sige, der var én der virkede!

Det der var sket var at min menu var holdt op med at virke og generelt alle andre steder hvor man trykkede på en knap for at komme videre til en anden del af sitet.
For at gøre sitet bookmark venligt var det brudt op i flere seperate sektioner, så når der blev skiftet side skete det med getURL(”nyurl”,”_self”).

Heldigvis havde jeg også et par eksterne links hvor der blev brugt _blank som parameter, og da de stadigvæk fungerede var det jo rimelig enkelt at drage den konklusion, at Flash Player 9 behandler getURL på en anden måde end Flash Player 8.

Mere sikkerhed?
Jeg mente ellers at jeg havde konfigureret crossdomain.xml rigtigt og brugt de rigtige allowDomain settings, men forsøgte alligevel at pille ved dem for at se om problemet lå der, men uden held.
Selv med brug af wildcard (*) over det hele virkede det stadigvæk ikke.

Og det der gjorde det endnu mere mystisk, var at den url som jeg forsøgte at stillede videre til, var på samme domæne og samme niveau som den url man kom fra.

Ja, mere sikkerhed!
Jeg er så lige faldet over denne technote med både en forklaring og en løsning på problemet: Links from SWF in HTML page no longer functional

Den fortæller at swf nu kun som standard kan bruge parametren _self når der skiftes til sider som er på samme domæne som swf’en selv!
Det er ifølge Adobe for at undgå misbrug hvis man loader indhold fra andre domæner.

Løsningen er at tilføje/rette parametren allowScriptAccess til always.

Arrrrgggghhhh!
Jeg må tilstå at jeg synes at det er rimeligt vanvittigt at indføre så fundamental en ændring i hvordan en så udbredt funktion som getURL opfører sig.
En ting var dengang hvor de indførte crossdomain.xml, der kom der en lille sikkerhedsadvarsel til brugeren, men derudover fungerede det. I dette tilfælde vil det for en bruger bare se ud som om at et givent site simpelthen ikke virker, ingen advarsler, ingenting!

Er det virkelig nødvendigt?
En helt anden ting er så, er det virkelig nødvendigt ät have det som default opførsel?

Det kan godt være at det bare er mig, men jeg tror faktisk endnu ikke at jeg har været involveret i et Flash projekt hvor jeg har loadet swf’er fra et domæne som jeg ikke selv havde kontrol over.

Om ikke andet, så ville jeg i hvert fald gerne have en måde, alla crossdomain.xml, hvor man en gang for alle på domæne-niveau kunne angive at domæne x stoler på domæne y.

Ok, jeg overreagerer…
…måske nok lidt, men det skyldes at vi er lidt specielle herpå Jubii, da swf’erne næsten altid ligger på et andet domæne end selve aspx-siderne, idet vi har en speciel server til at cache statisk-indhold.

Så for mig betyder det at jeg skal hen og opdatere ufatteligt mange steder, ligesom at det jo vil være en parameter jeg fremover vil skulle bruge som standard på alt hvad jeg laver herinde.

Andre Flash Player 9 issues
For en komplet liste over potentielle problemer med Flash Player 9, så tag et kig på denne side: Flash Player 9 Emerging Issues



Del:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg

2 kommentarer

  1. T siger: (14. september 2006 kl. 23:23 )

    Jeg er så enig så enig! Takk for at du la dette ut i bloggen. Det sparte meg for mye feilsøking og irritasjon :)

    T

  2. IE7 er på gaden - dejligt at Flash er browseruafhængigt, eller er det? · omFlash(); siger: (23. oktober 2006 kl. 13:20 )

    […] Fra version 8 til 9 er der endnu engang blevet pillet ved sikkerhedsmodellen, sådan så getURL nu ikke kan skifte til andre domæner i samme vindue (_self), uden at man har ændret ved sine allowScriptAccess settings i html’en (Se gammelt indlæg om det her). Her kommer der ingen dialog, og lige præcis denne ændring kan faktisk gøre et site 100% ubrugeligt. […]

Skriv en kommentar