Avatar billede jakwag Nybegynder
28. september 2003 - 17:37 Der er 27 kommentarer og
1 løsning

communikation mellem to swf's på to forskellige sider

Hej

Jeg har en swf der ligger på én html side og en anden swf på en anden html side. Nu skal jeg sende en variabel fra den ene swf til den anden.

Jeg ville have gjort det med SharedObjects, men havde glemt at de kun kan nås fra den swf som har skrevet dem.

Kan det lade sig gøre noget i retning af:

getURL("http://www.test.html?enVariabel","_self");

og på www.test.html så have en swf der kan se "enVariabel"?

Jeg skal bruge det for 30 minutter siden, så PLEASE: ALLE kreative løsninger er velkomne...

: | Jakob
Avatar billede f5 Nybegynder
28. september 2003 - 18:13 #1
Ved ikke om det er en løsning fra dig, men jeg har nogle gang lavet et frameset med en frame på 1 pixel som jeg bruger til at gemme variabler i og så hente dem med javascript - hvis du er hurtig til javascript er det måske en løsning....


/Michael
Avatar billede jakwag Nybegynder
28. september 2003 - 18:16 #2
nej, det går vist ikke. Hende der står for html delen nægter konsekvent at arbejde i frames. Ellers god ide.

Ved du om man kan gemme/læse almindelige cookies fra en swf?
Avatar billede f5 Nybegynder
28. september 2003 - 18:23 #3
hvad med at gemme dem på en database?
Avatar billede gormen Nybegynder
28. september 2003 - 18:24 #4
Hvad med tables??
Altså tabeller. Som _f5_ siger, så lav en tabel på en pixel. Jeg har selv brugt dette.
Avatar billede f5 Nybegynder
28. september 2003 - 18:26 #5
Men hvorfor er det at de to film skal tale sammen. Er de åbne på samme tid?
Avatar billede jakwag Nybegynder
28. september 2003 - 18:26 #6
tables hjælper mig ikke da det er to forskellige sider de ligger på f.eks. www.test.html og www.test2.html.
Avatar billede f5 Nybegynder
28. september 2003 - 18:30 #7
Så skal du vist have dig en database. Ellers er det måske muligt at lave en cookie med php eller javascript og så hente den med php eller javascript igen. Et forslag, ved det ikke?
Avatar billede jakwag Nybegynder
28. september 2003 - 18:31 #8
De er IKKE åbne på samme tid. Ellers kunne jeg bruge localConnection.
Avatar billede jakwag Nybegynder
28. september 2003 - 18:32 #9
Ja, Cookies med javascript var osse min tanke. Men hvordan mon?
Avatar billede jakwag Nybegynder
28. september 2003 - 18:33 #10
En database er hvist lidt "overkill".
Avatar billede f5 Nybegynder
28. september 2003 - 18:33 #11
Er der ikke en javascript sektion her inde på Eksperten? Du kan prøve der
Avatar billede jakwag Nybegynder
28. september 2003 - 18:41 #12
Tak for hjælpen, indtil videre. Jeg tror jeg har fundet en løsning... måske...
Avatar billede f5 Nybegynder
28. september 2003 - 18:57 #13
Vil meget ge´rne høre hvis du finder en :-)
Avatar billede barklund Nybegynder
28. september 2003 - 20:04 #14
SharedObjects lyder bestemt som svaret... I den nye kan du også specificere den præcise sti, som de skal gemmes/hentes under, så du kan dele mellem to forskellige swf'er...
Avatar billede jakwag Nybegynder
28. september 2003 - 20:08 #15
barklund > ER DET RIGTIGT?!? :D Hvordan?

De lægger sig jo sig i en mappe som hedder det samme som swf'en. Hvordan får jeg så en swf til at kigge ned i en mappe som hedder noget andet end den selv?
Avatar billede jakwag Nybegynder
28. september 2003 - 20:11 #16
med "den nye" mener du så den nye flash..?
Avatar billede barklund Nybegynder
28. september 2003 - 20:21 #17
Den nye er 2004 ja, og man kan hente sine SharedObjects som:

SharedObject.getLocal("foo_so", "www.mitdomæne.dk/mappe/fil.swf");

I path'en behøver du ikke skriver mere end blot din domæne rod - ligesom cookie's fungerer...

Angiver du ikke andet argument, så defaulter den til _url property på filmen.

Det kan man så vidt jeg ved ikke i Flash MX - kun i 2004.
Avatar billede jakwag Nybegynder
28. september 2003 - 20:26 #18
Præcis, i mx kan det ikke lade sig gøre.

Problemmet er bare at jeg endnu kun har en beta af mx 2004, og jeg har meget dårlige erfaringer med at bruge beta'er professionelt...

- men det er helt sikkert løsningen, jeg skal aligevel lave adskillige ting om så snart jeg får den nye.

... Jeg har selv fundet en midlertidig løsning, men smid et svar.
Avatar billede barklund Nybegynder
28. september 2003 - 20:45 #19
Men du kan da hente en trial af FMX04?

Så kan du godt nok ikke lave dit site og rette det noget tid efter, men du kan det lave og afprøve dit :)
Avatar billede jakwag Nybegynder
28. september 2003 - 20:47 #20
yeps! Tak for hjælpen.
Avatar billede barklund Nybegynder
28. september 2003 - 20:50 #21
Nu fik jeg jo det hele? Var der ikke andre, der havde fortjent lidt point ind imellem?
Avatar billede jakwag Nybegynder
28. september 2003 - 20:59 #22
f5 gjorde et ihærdigt forsøg, men kom ikke med noget der kunne bruges... såe...
Avatar billede jakwag Nybegynder
29. september 2003 - 19:05 #23
Det kommer ikke til at virke, kan du se hvad der er galt?

Dette virker (den gamle model):

menu_so = SharedObject.getLocal("test");
knap_mc.onRelease = function(){
    menu_so.data.messege = in_txt.text;
    out_txt.text = menu_so.data.messege;
}

Dette virker ikke:

menu_so = SharedObject.getLocal("test", "www.contentdepot.dk/sotest.swf");
knap_mc.onRelease = function(){
    menu_so.data.messege = in_txt.text;
    out_txt.text = menu_so.data.messege;
}

Jakob
Avatar billede jakwag Nybegynder
29. september 2003 - 19:07 #24
Avatar billede barklund Nybegynder
29. september 2003 - 19:12 #25
Har du prøvet med:

menu_so = SharedObject.getLocal("test", _url);
knap_mc.onRelease = function(){
    menu_so.data.messege = in_txt.text;
    out_txt.text = menu_so.data.messege;
}
Bare for tests skyld...

Sæt også en funktion på System.onStatus:

System.onStatus = function(obj) {
    trace("onStatus: "+obj);
}
så du kan se, hvad der sker :)
Avatar billede jakwag Nybegynder
29. september 2003 - 19:17 #26
Ja, _url virker (men det er den jo osse pr. default), men hvordan sætter jeg onStatus på?

menu_so = SharedObject.getLocal("test", _url);
knap_mc.onRelease = function() {
    menu_so.data.messege = in_txt.text;
    out_txt.text = menu_so.data.messege;
};
System.onStatus = function(obj) {
    trace("onStatus: "+obj);
};

Det virker ikke, det giver mig fejlen:
There is no property with the name 'onStatus'.
Avatar billede barklund Nybegynder
29. september 2003 - 19:44 #27
Hm, ja det er vist en bug(?)... (for syntax hintet siger jo, at den findes...)

put den på din menu_so.onStatus istedet:

my_so.onStatus = function(obj) {
    some_txt.text = "infoObject.code = "+obj.code;
}

Og så skal du også huske at flushe dit objekt... Prøv eventuelt også at udskrive typeof dit menu_so...

/Barklund
Avatar billede jakwag Nybegynder
29. september 2003 - 20:09 #28
laver man ikke bare en flush sådan:

menu_so = SharedObject.getLocal("test", "www.contentdepot.dk/menu/sotest4.swf");
menu_so.flush(1000);

?

Min onStatus reagere slet ikke. Heller ikke når der er fejl.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester