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
gora.php
<html> <head> <script> function sprawdzWyr(str) { var mojeWyrReg = /1213/; //taki ciąg powinien wystąpić return mojeWyrReg.test(str) } function Test() { var strzal = top.dol.document..innerHTML; if(sprawdzWyr(strzal)) { document.write("Tak!") } else { document.write("Nie!") } } function zmienAdres() { top.dol.location = "http://php.pl"; //dla przykładu podaję akurat tą stronę setTimeout("Test()",1000); } </script> </head> <body onload="zmienAdres();"> </body> </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