Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak pobrać adres strony w (i)frame ?
husky83
post 19.01.2010, 09:01:09
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 8.12.2005
Skąd: Gliwice

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


Witam smile.gif

Mam pewien problem.
Chcę zrobić stronkę, która ma wyglądać tak: u góry ma być pewna informacja o stronie (nazwijmy ją w skrócie info), poniżej ramka (iframe, albo lepiej frame) z konkretną stroną.
info wyświetla informacje o stronie. Gdy strona się zmieni (kliknięcie na link na stronie wyświetlanej w ramce), info ma się zmienić na odpowiednie do zawartości strony (wszystkie informacje są w bazie, ale mniejsza o to). Problem w tym - w jaki sposób pobrać nowy adres strony w ramce?
  1. <frame src='str' onload='przeladuj_info()'>

i wszystko pięknie - strona się załaduje, do info załaduje się odpowiednia informacja..
Problem w tym, że gdy pobieram src z ramki, to zawsze, nawet po kliknięciu zwraca mi ten sam adres.. Czy da się to jakoś obejść? Próbowałem dostać się głębiej do ramki, jednak wtedy otrzymuję w konsoli komunikat o braku uprawnień...

w jaki sposób pobrać adres nowej strony załadowanej do ramki? I czy w ogóle istnieje jakiś sposób?


--------------------
Husky 83 - Galeria zdjęć psów zaprzęgowych
Go to the top of the page
+Quote Post
Pacio
post 20.01.2010, 01:53:41
Post #2





Grupa: Zarejestrowani
Postów: 105
Pomógł: 27
Dołączył: 30.10.2005
Skąd: Lublin

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


Jesli
  1. var url = document.getElementById(idRamki).contentWindow.location;
nie dziala, to bardzo prawdopodobne, ze sie nie da tego wyciagnac z powodu same origin policy.


--------------------
Mój Blog Militarny: http://1rBlog.pl
Go to the top of the page
+Quote Post
zegarek84
post 20.01.2010, 02:19:09
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


w js dla ramki "main" można na dwa sposoby:
java script:var a=frames['main'].document.location;alert(a);void(0)
java script:var a=frames['main'].location;alert(a);void(0)

sprawdzałem i działa na plemionach, gdzie napisałem kilka pół automatów w js...


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
Pacio
post 20.01.2010, 12:31:16
Post #4





Grupa: Zarejestrowani
Postów: 105
Pomógł: 27
Dołączył: 30.10.2005
Skąd: Lublin

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


Cytat(zegarek84 @ 20.01.2010, 02:19:09 ) *
sprawdzałem i działa na plemionach, gdzie napisałem kilka pół automatów w js...

Prawda, ale tylko jesli w ramce znajduje sie strona z tej samej domeny co strona, w ktorej jest osadzona ramka.
Sprawdz:
  1.  
  2. <script type="text/javascript">
  3. function sprawdzUrl() {
  4. var a = frames['main'].document.location;
  5. alert(a);
  6. }
  7.  
  8. </head>
  9.  
  10. <iframe name="main" src="http://www.example.com" style="width: 200px; height: 200px;"></iframe>
  11. <br>
  12. <button onclick="sprawdzUrl();">Sprawdz adres ramki</button>
  13.  
  14. </body>
  15. </html>


To jest wlasnie same origin policy.


--------------------
Mój Blog Militarny: http://1rBlog.pl
Go to the top of the page
+Quote Post
husky83
post 20.01.2010, 13:45:40
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 8.12.2005
Skąd: Gliwice

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


I to wszystko wyjaśnia.. Problem własnie w tym, że to poza moją domeną.. Szkoda, że jest to tak zablokowane, bo akurat pobranie adresu strony nie jest jakoś 'inwazyjne' i nie wpływa na działanie danej strony (będącej w ramce).. No ale zabezpieczają co się da i w sumie dobrze smile.gif
Więc musze sobie poradzić inaczej ;-)

Dzięki i pozdrawiam smile.gif


--------------------
Husky 83 - Galeria zdjęć psów zaprzęgowych
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2025 - 03:19