getURL
Akcja służy do otwierania dokumentu o podanym adresie, może też za pomocą przesłanych zmiennych komunikować się ze skryptami lub wywoływać skrypty np. JavaScript.
Można użyć jej jako funkcji globalnej:
getURL(parametry)
Lub jako metody movieclipa
MovieClip.getURL(parametry)
Funkcja przyjmuje trzy parametry, adres dokumentu, okno docelowe (_blank, _parent, _self, _top) i metodę przesyłu danych (GET, POST).
Zazwyczaj używa się jej po prostu do otwarcia nowej strony:
Kod: Zaznacz cały
getURL("http://www.strona.pl/", "_blank");
getURL("kontakt.html", "_self");
Co jest odpowiednikiem HTML’owego:
[xml]<a href="
http://www.strona.pl" target="_blank">Klik</a>
<a href="kontakt.html" target="_self">Klik</a>[/xml]
Można też do adresu dołączyć zmienne z parametrami
Kod: Zaznacz cały
getURL("http://www.strona.pl?page=kontakt&id=1", "_self");
A skoro mowa o parametrach to istnieje ciekawa możliwość ich przesyłania właśnie poprzez metodę getURL movieclipu.
Tworzymy nowy pusty MC mający za zadanie przechowywać zmienne i ich wartości.
Następnie za pomocą metody przesyłamy te zmienne w adresie, metodą GET :
Kod: Zaznacz cały
var myVarsMc:MovieClip = this.createEmptyMovieClip("myVarsMc", this.getNextHighestDepth());
myVarsMc.page=kontakt;
myVarsMc.id=1;
myBtn.onRelease = function() {
myVarsMc.getURL("http://www.strona.pl", "_self", "GET");
};
Oba powyższe rozwiązania są odpowiednikiem HTML’owego:
[xml]<a href="
http://www.strona.pl?page=kontakt&id=1" target="_blank">Klik</a>[/xml]
A teraz to samo tylko metodą POST,
Kod: Zaznacz cały
var myVarsMc:MovieClip = this.createEmptyMovieClip("myVarsMc", this.getNextHighestDepth());
myVarsMc.page=kontakt;
myVarsMc.id=1;
myBtn.onRelease = function() {
myVarsMc.getURL("http://www.strona.pl", "_self", "POST");
};
jest to odpowiednik HTML’owego formularza:
[xml]<form action="
http://www.strona.pl" method="post" target="_self">
<input type="hidden" name="page" value="kontakt">
<input type="hidden" name="id" value="1">
<input type="submit" value="OK">
</form>[/xml]
Można też użyć mieszania metod przesyłania:
Kod: Zaznacz cały
var myVarsMc:MovieClip = this.createEmptyMovieClip("myVarsMc", this.getNextHighestDepth());
sendBtn.onRelease = function() {
if (Boolean(imieInpTxt.text) && Boolean(nazwiskoInpTxt.text)) {
myVarsMc.imie = imieInpTxt.text;
myVarsMc.nazwisko = nazwiskoInpTxt.text;
myVarsMc.getURL("get_url_1.php?id=1", "_self", "POST");
}
};
Jest to odpowiednikiem HTML’owego formularza:
[xml]<form action="get_url_1.php?id=1" method="post" target="_self">
<input type="text" name="imie">
<input type="text" name="nazwisko">
<input type="submit" value="OK">
</form>[/xml]
Za pomocą getURL można również wywoływać skrypty JavaScript
Na przykład standardowy alert
Kod: Zaznacz cały
var myVariable:String = "Hello";
sendBtn1.onRelease = function() {
getURL("javascript:window.alert('" + myVariable + "')");
};
Lub własna funkcję JS
Kod: Zaznacz cały
sendBtn2.onRelease = function() {
getURL("javascript:foo(1, 3)");
};
Plik JS:
Kod: Zaznacz cały
function foo(num1, num2){
var out = num1 + num2;
window.alert(num1 + " + " + num2 + " = " + out);
}
Aby aplikacje działały prawidłowo trzeba pozwolić Flashowi uruchamiać skrypty. Robimy to wstawiając w kod osadzający Flasha ten kod:
[xml]<param name="allowScriptAccess" value="always">[/xml]
Wszystkie powyższe przykłady powinno się testować z serwera.
Materiały:
www.webinside.pl/materialy/rozne/get_url.rar