Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak pobrać adres strony w (i)frame ?
husky83
post
Post #1





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

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


Witam (IMG:style_emoticons/default/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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Pacio
post
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.
Go to the top of the page
+Quote Post
zegarek84
post
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...
Go to the top of the page
+Quote Post
Pacio
post
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.
Go to the top of the page
+Quote Post
husky83
post
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 (IMG:style_emoticons/default/smile.gif)
Więc musze sobie poradzić inaczej ;-)

Dzięki i pozdrawiam (IMG:style_emoticons/default/smile.gif)
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 - 10:39