Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Zamykanie popupa przy zamykaniu strony wywołującej
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
corell
Witam, mój problem jest na tyle nietypowy (choć nie myslałem, że tak jest), że jakoś nie dałem rady znaleźć odpowiedzi wśród dotychczasowych postów. A więęęc...

Oto skrypt ładujący popup (index.php, a tak naprawdę nagłówek top.tpl includowany do każdego pliku php na stronie):

  1. <script LANGUAGE="JavaScript">
  2. function popUp(URL) {
  3. day = new Date();
  4. id = day.getTime();
  5. eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=276,he
    ight=241,left = 362,top = 234');");
  6. }


funcja wywołująca (dodam, że następuje to przez element flashowy strony - o ile ma to jakieś znaczenie):

  1. java script:popUp('player.htm')


I teraz chodzi mi o to, żeby przy zamnknięciu okna wywołującego popup (index.php) zamykało się okienko z player.htm. Rozumiem, że najlepszym rozwiązaniem byłoby uzycie unload w body index.php, ale mam problem ze składnią :/ Jeśli jednak jest jakieś inne rozwiązanie, proszę o pomoc.

Z góry dzięki!
abc667
ale musisz znać "page" + id

wtedy spróbuj

  1. window.onunload = function() { ("page" + id).close(); }
corell
Hmmm, jako że ekspert JS ze mnie żaden, to może tak - jakie byłoby rozwiązanie dla najprostszej wersji skryptu, czyli:

  1. <script language="JavaScript" type="text/javascript">
  2. <!--
  3. function PopWindow()
  4. {
  5. window.open('player.htm','player','width=276,height=241,menubar=no,scrollbars=no,toolbar=no,location=no,directories
    =no,resizable=no,top=234,left=362');
  6. }
  7. //-->

Próbowałem wczoraj różnych kombinacji na podstawie podpowiedzi, którą dostałem ale nie doszedłem co i jak. Rozumiem, że to byłoby coś w stylu:

  1. window.onunload = function() {PopWindow.close();}

umieszczone w <body> pliku wywołującego. Mimo wszystko nie udało mi się tego pokonać.
abc667
  1. <title>...</title>
  2. <script type="text/javascript">
  3.  
  4. var referencjaDoOkna;
  5.  
  6. function PopWindow()
  7. {
  8. referencjaDoOkna = window.open('player.htm','player','width=276,height=241,menubar=no,scrollbars=no,toolbar=no,location=no,directories
    =no,resizable=no,top=234,left=362');
  9. }
  10.  
  11. window.onunload = function() { referencjaDoOkna.close(); }
  12. </head>
  13. <body >
  14.  
  15. <a onclick="PopWindow(); return false;" href="#">dsfdsf</a>
  16.  
  17. </body>
  18. </html>
corell
Wszystko świetnie działa - dzięki! guitar.gif
Tylko moje pytanie brzmi - czy jest możliwe zabezpieczenie się przed zamykaniem popupa jeśli ze strony otwierającej go przechodzę na inną?


czy rzeczywiście nikt nie ma pomysłu żeby rozwiązań powyższy problem?
abc667
raczej nie ma możliwości żeby to zrobić tak jak chcesz
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.