Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]wyalertowanie strony otwartej przez window.open
Forum PHP.pl > Forum > Przedszkole
Star
Czesc
Chcialbym wyalertowac sobie zawartosc strony otwartej w window.open, jednak taki kod nie dziala:

var myWindow = window.open("http://localhost/test.php?test=5", "myWindow", "width=200,height=100");
myWindow.addEventListener('load', alert(myWindow.document.body.innerHTML), true);

ewidentnie widac ,ze pierw wrzucany jest alert,a dopiero potem doladowuje sie strona.

Wiec jak to zrobic,aby alert zadzialal po pomyslnym zaladowaniu strony w window.open ?smile.gif
markuz
Nie można wstrzykiwać w ten sposób skryptów na inne strony. Pomyśl co by to było gdyby się dało - mógłbyś otworzyć komuś np. stronę z kontem bankowym i wykonać kilka kliknięć żeby Ci zrobił przelew jeżeli jest zalogowany.
Star
Mozna to pobrać, jeśli obie strony są na tym samym serwerze,wtefy jest to zgodne z polityką js.

I ten problem już rozwiązalem, jednak mam drugi - chciałbym 5razy, przy pomocy pętli, otworzyć ta stronę przez window.open. Jednak poniższy kod otwiera okno tylko raz :

  1. for(var j = 0; j<5; j++)
  2. {
  3. var myWindow = window.open("http://localhost/test.php?test="+j+"", "myWindow", "width=200,height=100");
  4.  
  5. myWindow.onload = function() {
  6. alert(myWindow.document.getElementsByClassName("names").length);
  7. myWindow.close();
  8. }
  9.  
  10. }



Gdy usunę
  1. myWindow.onload = function() {
  2. alert(myWindow.document.getElementsByClassName("names").length);
  3. myWindow.close();
  4. }
  5.  
  6.  


To okna otwierają się poprawnie. Orientuje się ktoś czym to jest spowodowane?
Comandeer
Jak zamykasz każde okno praktycznie od razu po otwarciu, to nic dziwnego, że ich nie ma.
Star
Nawet gdy usunę zamykanie okna to dalej wyświetla się tylko jedno.
W jaki sposób Ty byś to rozwiązał?
markuz
Może spróbuj każde okno przypisać do innej zmiennej tj.
windows = [];
for(w = 0; w < 5; w++) {
windows.push(window.open ...);
var w = windows[w];
w.onload ...
}
Star
niestety, dalej wyrzuca tylko jedno okno
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.