[JavaScript] Nowe okno
Kolejny artykuł z kategorii JavaScript, który tym razem poświęcony jest obiektowi Window i jego metodzie open. Dzięki obiektowi window możemy między innymi otwierać strony w nowych oknach i właśnie tym się zajmiemy w niniejszym artykule.
Obiekt Window
Obiekt ten reprezentuje okno przeglądarki lub aktywną kartę i znajduje się najwyżej w hierarchii obiektów JS. Przed obiektem window nie ma żadnego innego. Podobnie jak w innych językach każdy obiekt ma właściwości i metody, do których możemy się odwoływać. Do właściwości lub metody obiektu odwołujemy się poprzez zapis: object.method();
. A teraz ciekawostka - do metod i właściwości obiektu Window możemy odwoływać się bezpośrednio, bez potrzeby poprzedzania ich nazwą obiektu. Np. do metody open nie musimy odwoływać się poprzez zapis Window.open();
, a bezpośrednio open();
. Oczywiście nie tworzymy instancji obiektu window, ponieważ jest ona tworzona automatycznie po otwarciu okna i zawsze możemy używać tego obiektu.
Metoda open
Metoda obiektu Window służąca do otwierania nowego okna przeglądarki. Metoda ta może przyjąć następujące opcjonalne argumenty:
- url - adres strony, która ma zostać otwarta w nowym oknie;
- target - nazwa dla przeglądanego kontekstu lub specjalna nazwa (_blank, _parent, _self, _top), domyślnie _self;
- windowFeatures - ustawienia okna (string, w którym podajemy parametry w formacie parametr=wartość oddzielone od siebie przecinkami):
- width (px) - szerokość okna
- height (px) - wysokość okna
- top (px) - margines górny
- left (px) - margines lewy
- scrollbars (yes, no, 0, 1) - czy wyświetlać scrollbary
- location (yes, no, 0, 1) - czy wyświetlać pasek adresu
- replace - czy nowa strona w istniejącym oknie ma być nadpisana w historii przeglądania, czy ma być dodana jako nowa pozycja? Podaj wartość true, jeśli chcesz zastąpić rekord w historii nowym, lub false, jeśli chcesz dodać nowy rekord.
Nasza funkcja
Jak widać otwieranie nowego okna przeglądarki przy użyciu metody open nie jest zbyt skomplikowane i sprowadza się do napisania jednej lini kodu:
open('https://www.google.pl','_blank','width=500,height=500,left=50,top=50');
Pójdźmy dalej i napiszmy własną funkcje, dzięki której otwarcie nowego okna będzie jeszcze sprawniejsze. Funkcja będzie oczywiście korzystać z metody open i przyjmować będzie 4 argumenty: windowUrl, windowTarget, windowWidth, windowHeight. Pozycja nowego okna niech będzie ustawiona na stałe. Tworzymy zatem funkcję o nazwę newWindow:
function newWindow(windowUrl, windowTarget, windowWidth, windowHeight) {
open(windowUrl, windowTarget, 'width=' + windowWidth + ', height=' + windowHeight + ', top=50, left=50');
return false;
}
Przykładowe użycie
<a href="" onclick="return newWindow('http://localhost', '_blank', 200, 200);">otwórz okno</a>
Komentarze
Prześlij komentarz
Dzięki za komentarz!