Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie drugiej ramki w js
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
marlowe
Witam,
mam takie pytanie- potrzebuję sobie zrobić skrypt, który działając w górnej ramce (strona podzielona będzie na dwie) będzie wywoływał załadowanie w dolnej ramce jakiejś strony a następnie sprawdzał wartość jednego z jej elementów za pomocą dostępu przez DOM. I wszystko jest dobrze, skrypt mi działa na moim komputerze gdy tą dolną stroną jest moja własna strona natomiast przestaje działać na stronie na innym serwerze- pojawia się błąd "odmowa dostępu" lub też wyświetla niepoprawny wynik (mimo poprawności zapytania, "if" nie jest spełniane). Nie znalazłem niestety nic w netcie na ten temat więc chciałem się Was spytać czy wiecie jak to rozwiązać. Aha- umieściłem w skrypcie funckję SetTimeout żeby czekała ona na załadowanie się strony w dolnej ramce- nie jest niemożliwe że całość działa niepoprawnie bo sprawdzana jest pusta strona w poszukiwaniu ciągu a dopiero potem ładowane jest php.pl w dolnej ramce- mimo, że setTimeout() powinno dawać inny efekt. Oto treść stron:
index.php
  1. <frameset rows="50%,*">
  2. <frame name="gora" src="gora.php">
  3. <frame name="dol" src="dol.php">

gora.php
  1. <title>Logowanie</title>
  2. function sprawdzWyr(str)
  3. {
  4. var mojeWyrReg = /1213/; //taki ciąg powinien wystąpić
  5. return mojeWyrReg.test(str)
  6. }
  7. function Test()
  8. {
  9. var strzal = top.dol.document..innerHTML;
  10. if(sprawdzWyr(strzal))
  11. { document.write("Tak!") }
  12. else
  13. { document.write("Nie!") }
  14. }
  15.  
  16.  
  17. function zmienAdres()
  18. {
  19. top.dol.location = "http://php.pl"; //dla przykładu podaję akurat tą stronę
  20. setTimeout("Test()",1000);
  21. }
  22. </head>
  23. <body onload="zmienAdres();">
  24. &nbsp;
  25. </body>
  26. </html>

dol.php nie jest ważne- od razu jest zastępowane przez stronę ładowaną przez skrypt w górnej ramce
Bardzo prosiłbym o pomoc- zależy mi na tym a nie mam już pomysłu co zrobić.
Przykład umieścłem tutaj- błąd pojawia się po 5 sekundach (pod Mozillą nie wyświetlają mi się błędy js- sprawdzałem to pod IE).
Z góry dziękuję za odpowiedzi.
Pozdrawiam
Bartek
akubiczek
No i całkiem słusznie, że skrypt nie może ingerować w inną stronę (z innej domeny). Jest to celowo wprowadzone zabezpieczenie smile.gif

Co do mozilli i błędów - mozilla ma o wiele lepsze raportowanie błędów od IE! Wpisz tylko w pasku adresu lokalizację "java script:" - voila!
marlowe
Eh- no to szkoda bardzo.
Co do Mozilli- wiedziałem, że jakoś to się sprawdza ale nie pamiętałem jak- dzięki.
Dziękuję za pomoc.
Pozdrawiam.
Bartek
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.