Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][jQuery] Sprawdzenie czy strona otwarta jest w ramce
pablos83
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 3.05.2006

Ostrzeżenie: (0%)
-----


Witajcie,

Czy istnieje w PHP jakaś funkcja (lub może ktoś z Was pisał taki program), która sprawdza czy strona jest otwarta w ramce (iframe).

Chcę zrobić coś takiego:
1. Użytkownik z wyników wyguglowania wchodzi na stronę, która powinna się otworzyć w ramce IFRAME.
2. Uruchamiany jest skrypt PHP/jQuery/JS który sprawdza czy strona jest otwarta w ramce.
3. Jeśli nie jest, to PHP header("Location:"); lub coś adekwatnego przekierowuje na stronę indexową i wczytuje odpowiednią stronę z wyników wyszukiwania do ramki IFRAME.

PS: Niestety klient, dla którego robię zlecenie nie akceptuje opcji bez ramki, ponieważ chodzi mu o ciągłe odtwarzanie muzyki w tle nawet przy przechodzeniu (przeładowaniu) na kolejną stronę. W zasadzie ramki mogłoby nie być, ale nie znalazłem innego rozsądnego sposobu na ciągłość w odtwarzaniu muzyki.
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Czy istnieje w PHP jakaś funkcja (lub może ktoś z Was pisał taki program), która sprawdza czy strona jest otwarta w ramce (iframe).

Tylko JS, jak już.
Go to the top of the page
+Quote Post
kilas88
post
Post #3





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

Ostrzeżenie: (0%)
-----


W JavaScript można to łatwo wykonać. Generalnie zarządzanie różnymi okienkami (w tym ramkami) jest proste i obsługiwane z jednego obiektu window.

Na myśl mi przyszedł jednak inny pomysł (IMG:style_emoticons/default/biggrin.gif) wystarczy odwrócić działanie skryptu zabezpieczającego przed Clickjackingiem, tj.

Kod
<script type="text/javascript">
if (top != self) {
    top.location=self.location;
}
</script>

na

Kod
<script type="text/javascript">
if (top == self) {
    top.location = 'http://adres-strony-z-ramkami/wlasciwa-ramka';
}
</script>


Przy czym kod zamieszczasz tylko w podstronach, które muszą być uruchomione w ramkach. To wszystko (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował kilas88 28.07.2010, 21:51:20
Go to the top of the page
+Quote Post
pablos83
post
Post #4





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 3.05.2006

Ostrzeżenie: (0%)
-----


Zamieściłem ten skrypt w dokumencie który jest otwierany w ramce. Ale nie działa prawidłowo. Chciałem zrobić to w ten sposób, aby otworzyła się strona z indexem (w którym jest iframe), a następnie strona docelowa.
Go to the top of the page
+Quote Post
kilas88
post
Post #5





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

Ostrzeżenie: (0%)
-----


Cytat(pablos83 @ 29.07.2010, 00:05:16 ) *
Zamieściłem ten skrypt w dokumencie który jest otwierany w ramce. Ale nie działa prawidłowo. Chciałem zrobić to w ten sposób, aby otworzyła się strona z indexem (w którym jest iframe), a następnie strona docelowa.

Co nie działa? Dałem gotowca i jeszcze nie potrafisz go zastosować w praktyce? To coś tutaj nie halo (IMG:style_emoticons/default/biggrin.gif) wcześniej pisałem z głowy, jednak stestowałem, bo niby nie działa i działa jak należy.

index.html
  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <title>Moja strona</title>
  6. </head>
  7. <frameset cols="200,*">
  8. <frame name="spis" src="http://google.pl/" />
  9. <frame name="strona" src="podstrona.html" />
  10. </html>


podstrona.html
  1. <script type="text/javascript">
  2. if (top == self) {
  3. top.location = 'index.html';
  4. }
  5.  
  6. tekst


Proszę otworzyć podstrona.html w przeglądarce.

Ten post edytował kilas88 28.07.2010, 23:25:10
Go to the top of the page
+Quote Post
pablos83
post
Post #6





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 3.05.2006

Ostrzeżenie: (0%)
-----


(IMG:http://www.novendi.pl/images/schemat.png)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 19:50