Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Otwieranie linku ale NIE w ramce..
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
ReBeLs513
Witam.
Bardzo pilnie potrzebuję kodu albo html, albo javascript, za którego pomocą (na stronie z ramkami) otworze link nie w ramkach. Wiem, że tak się da. Przykładem jest portal ONET. Bo, gdy chcę otworzyć onet w odpowiedniej ramce, to portal wykrywa to i się otwiera na całej stronie- ja też tego bardzo potrzebuję. Pomocy!
krzysztof_kf
spokojnie wytłumacz to jakoś po polsku bo nic nie rozumiem może oto chodzi ?

Kod
<body onload="window.open('adres1', 'nazwa1'); window.open('adres2', 'nazwa2')">...</body>
ReBeLs513
Chodzi mi o to, że mam stronę podzieloną na 3 ramki (nagłowek, menu i zawartość). I linki (w menu) otwierają się w ramce zawartość. A mam taki link, który ma się otworzyć na całej stronie. Kurde, jak to wytłumaczyć.. poprostu po kliknięciu na ten link ma się otworzyć nie w wybranej ramce ani nie w tej samej, a ma się on otworzyć w tej samej karcie (zamiast mojej strony ma się otworzyć ten link).
krzysztof_kf
rozumiem oto chodzi ? o rozwijane menu ;] Link tutaj
widmo17
Po kliknięciu w tego linka po prostu zrób przekierowanie na dokładnie tą stronę, którą chcesz otworzyć, czyli, jak już JS -
Kod
<a href=java script:location.href="http://widmo.tk";>mój sw33t em0 link bez r4mki</a>

Coś w ten deseń : d
ReBeLs513
może inaczej.. <a href="http://onet.pl" target="zawartosc">ONET</a> z tego kodu wynika, że portal ma się otworzyć w wybranej ramce, jednak strona onet to wykrywa i otwiera się na całej stronie. Już rozumiecie?
kamil4u
Kod
<script>
if (self != parent){
alert('nie otwieraj mnie w ramce!');
// daj tu np. funkcję podaną przez poprzednika
}
</script>
ReBeLs513
Nie, to jeszcze nie to, bo ta otwierana strona ma zlikwidować ramki i wypełnić całe okno.
chyba wiem, jak wam to wytłumaczyć.. cytuje: "Zawartość docelowej strony wyświetlona została w wybranej ramce. WSKAZÓWKA: Nie wszystkie strony WWW mogą być wyświetlane w ramkach Twojej strony. Niektóre portale wykrywają taką sytuację i likwidują ramki, wypełniając całe okno przeglądarki." I właśnie tak chcę zrobić. Aby moja podstrona zlikwidowała ramki i wypełniła całe okno. To już powinno wam pomoc w zrozumieniu, o co mi b.
kamil4u
Trochę samodzielności, podałem Ci gotowy kod, musisz zmienić tylko 1 rzecz, którą napisał już poprzednik. Czytaj ze zrozumieniem i spr. podane przez nas rozwiązania.
Kod
<script>
if (self != parent){
alert('nie otwieraj mnie w ramce!');
// daj tu np. funkcję podaną przez poprzednika
parent.location.href="http://www.google.pl";
}
</script>

ReBeLs513
Ale to nie to.. przez ten kod strona nie otworzy mi się wypełniając całe okno przeglądarki, a jedynie bd info, żeby nie otwierać w ramce i adres, który też się załaduje w ramce.. zrób sobie index z 3ramkami i odnośnik do interii lub onetu- nakaż otwarcie się w ramce. i zobaczysz o co mi chodzi. strona zamiast otworzyć się w ramce- wypełni całe okno przeglądarki, czyli te ramki zlikwiduje
kamil4u
Od kiedy nie można onet-u w ramce umieścić? Masz gotowca, bo widzę, że Ci nie idzie:
index.html :
Kod
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<frameset cols="180,*" border="0" frameborder="0" framespacing="0">
  <frame name="spis" noresize="noresize" frameborder="0" src="1.html" />
  <frame name="strona" noresize="noresize" frameborder="0" src="2.html" />
</frameset>
</html>

1.html :
Kod
<h2>1.html</h2>
<a target="strona" href="http://www.onet.pl">Onet</a><br>
<a terget="strona" href="3.html">Strona</a>

2.html :
Kod
<h2>2.html</h2>

3.html :
Kod
<script>
if (self != parent){
alert('nie otwieraj mnie w ramce!');
// daj tu np. funkcję podaną przez poprzednika
parent.location.href="3.html";
}
</script>
<h2>STRONA 3</h2>


Teraz nie możesz otworzyć strony 3.html w ramce i od razu dostajesz przekierowanie na 3.html, która zostanie otwarta w głównym oknie przeglądarki.
ReBeLs513
ej, ten skrzypt NIE działa:/ wyświetla mi się lało tekst:/
kamil4u
Co znaczy nie działa? Strony 3.html nie możesz otworzyć w ramce tak jak chciałeś, zamiast tego automatycznie otwiera się w głównym oknie przeglądarki. Oczywiście musisz mieć włączony JS.

Cytat
wyświetla mi się lało tekst:/

Że jak?
ReBeLs513
Wprowadzony skrypt wyświetla mi jako tekst na stronie:/
kamil4u
Jaki test? A co ma Twoim zdaniem wyświetlać? Zobacz co jest w pliku 3.html i go przeanalizuj. Już widzisz? Jest tylko <h2>STRONA 3</h2>, czyli zawartość Twojej strony. To jest tylko strona testowa. Czego się spodziewałeś.
ReBeLs513
I sprawdziłem. Kod działa. Usunąłem funkcję alert, gdyż jest zbędna. Dzięki wam wielkie:) Temat uważam za zamknięty.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.