Avatar billede hoppe11 Nybegynder
01. juni 2007 - 17:02 Der er 11 kommentarer og
1 løsning

javascript funktion fra flash

er det muligt at kalde en funktion i javascript fra en swf?
Avatar billede andersbro Nybegynder
01. juni 2007 - 20:09 #1
Avatar billede hoppe11 Nybegynder
01. juni 2007 - 22:03 #2
Jeg ved ikke om der måske findes andre løsninger på min problemstilling?

Jeg har et frameset med en top og en bund. Top-framen bliver aldrig reloaded og det er her jeg har min swf.

Der skal sendes en form fra min swf til bund-framen, men den skal ikke sendes til en forudbestemt url. Den skal nemlig sendes til den url+query som i forvejen er åbnet i framen.

Bliver jeg nød til at blande noget javascript ind her eller findes der er fiksere løsning? :)
Avatar billede andersbro Nybegynder
01. juni 2007 - 22:09 #3
Det lyder som javascript i mine ører, men jeg har ikke arbejdet med kald fra flash i frameset
Avatar billede w13 Novice
01. juni 2007 - 22:51 #4
jeg tror umiddelbart, du kan bruge:
getURL('java script:noget');
Avatar billede hoppe11 Nybegynder
02. juni 2007 - 08:57 #5
det her virker, hvis jeg har mit js script i den samme frame som swf'en, men hvordan skal funktionen tilgås hvis den er i min javascript.js fil?

getURL('java script:window.external.get_uri()');
Avatar billede hoppe11 Nybegynder
02. juni 2007 - 09:28 #6
hov...

jeg havde forsøgt mig med en alert() i min funktion, men efter at have indsat min egentlige funktion sker der noget lidt underligt

idet jeg sender min form bliver hele min topframe erstattet af en blank side med resultatet af min JS funktion

eks. http://www.minside.dk/side.php?kat=1&hund=42

java script:
-------------------------
function get_uri()
{
    return top.frame_main.location;
}


flash:
--------------------------
var uri = getURL('java script:get_uri()');

var formPost = new LoadVars();
formPost._form = 'login';
formPost.login_email = mcLogin.inputEmail.text;
formPost.login_pass = mcLogin.inputPass.text;
formPost.send(uri, 'frame_main', 'POST');
Avatar billede Slettet bruger
03. juni 2007 - 01:48 #7
Du kan også se her:
http://www.eksperten.dk/spm/778196

Du kan også bare lave dit java script:
<script type="text/javascript">
function load() {
  window.open("total_highscore.php","Highscore","scrollbars=no,menubar=no,height=600,width=500,resizable=no,toolbar=no,location=no,status=no");
}
</script>

og så på din knap eller dit movieclip få den til at java script:load();
Avatar billede hoppe11 Nybegynder
03. juni 2007 - 10:56 #8
coldgate >
jeg skal ikke åbne et vindue.. måske jeg blev misforstået lidt?

jeg skal fra flash trække det returnerede fra et javascript tilbage i flash og så bruge der

flash -> javascript -> flash
Avatar billede Slettet bruger
03. juni 2007 - 11:39 #9
Det var mere for at vise hvordan man kunne kalde sin flash ting som lå i ens html dokument (eller hvad man bruger).
Avatar billede hoppe11 Nybegynder
03. juni 2007 - 14:55 #10
skulle getURL() ikke returnere resultatet fra JS funktionen til swf'en?
Avatar billede hoppe11 Nybegynder
03. juni 2007 - 15:24 #11
loadVariables('java script:get_uri()', mc, 'GET');

var formPost = new LoadVars();
formPost._form = 'login';
formPost.login_email = mcLogin.inputEmail.text;
formPost.login_pass = mcLogin.inputPass.text;
formPost.send('start.php', 'frame_main', 'POST');

Jeg skal have erstattet 'start.php' med en uri min javascript funktion get_uri() genererer :)
Avatar billede hoppe11 Nybegynder
09. juni 2007 - 16:29 #12
formPost.send(ExternalInterface.call('get_uri'), 'frame_main', 'POST');
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