Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Szerokość strony ale od razu, a nie po odświeżeniu
Forum PHP.pl > Forum > Przedszkole
trzczy
Mam taki program, który ma za zadanie pokazywać, jaka jest szerokość okna przeglądarki. On w sumie działa, ale nie od razu, tylko po odświeżeniu. Mam na myśli, że jak się otworzy ten plik php z tym programem, to nie podaje on szerokości strony od razu, tylko trzeba nacisnąć F5.

Z kolei jak się zmieni szerokość okna, to po pierwszym odświeżeniu program nie pokazuje właściwej wartości, lecz dopiero po drugim odświeżeniu. Jak zmienić ten program, żeby właściwa szerokość strony była pokazywana od razu.

Oto kod programu:
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="pl">
  4. <title>Szerokość okna</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <script language="javascript">
  7. <!--
  8. function init() {
  9. document.cookie = 'width1=' + window.innerWidth;
  10. }
  11. // -->
  12. </script>
  13. </head>
  14. <?php
  15. echo "<body onload='init()'>";
  16. $width1 = '';
  17. if (
  18. isset($_COOKIE['width1'])
  19. ) {
  20. $width1 = $_COOKIE['width1'];
  21. }
  22. if ($width1) {
  23. echo 'Szerokość ekranu: ' . $width1 . 'px';
  24. } else {
  25. echo 'Rozdzielczość nie jest dostępna w PHP!';
  26. }
  27. ?>
  28. </body>
  29. </html>


Z góry dziękuję
mat-bi
Nie da się tak zrobić w php. Możesz spróbować to samym JS.
modziar
Cytat(trzczy @ 5.06.2011, 21:21:20 ) *
Mam taki program, który ma za zadanie pokazywać, jaka jest szerokość okna przeglądarki. On w sumie działa, ale nie od razu, tylko po odświeżeniu. Mam na myśli, że jak się otworzy ten plik php z tym programem, to nie podaje on szerokości strony od razu, tylko trzeba nacisnąć F5.

Z kolei jak się zmieni szerokość okna, to po pierwszym odświeżeniu program nie pokazuje właściwej wartości, lecz dopiero po drugim odświeżeniu. Jak zmienić ten program, żeby właściwa szerokość strony była pokazywana od razu.

Oto kod programu:
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="pl">
  4. <title>Szerokość okna</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <script language="javascript">
  7. <!--
  8. function init() {
  9. document.cookie = 'width1=' + window.innerWidth;
  10. }
  11. // -->
  12. </script>
  13. </head>
  14. <?php
  15. echo "<body onload='init()'>";
  16. $width1 = '';
  17. if (
  18. isset($_COOKIE['width1'])
  19. ) {
  20. $width1 = $_COOKIE['width1'];
  21. }
  22. if ($width1) {
  23. echo 'Szerokość ekranu: ' . $width1 . 'px';
  24. } else {
  25. echo 'Rozdzielczość nie jest dostępna w PHP!';
  26. }
  27. ?>
  28. </body>
  29. </html>


Z góry dziękuję



Na moje oko tu jest potrzebny ajax ktory bedzie ci w trybie rzeczywistym sprawdzal rozdzilczosc wysylal ja do php i odbieral odpowiedz,
z calym szacunkiem ale bedzie to dla ciebie dluga droga przez meczarnie

<body onload='init()'> to wbil bym do htmla a nie do php tak zeby startowalo od razu,chociaz nie wiem jakiemasz tam struktury bo sie dlugo nie przygladalem szczerze mowiac

w funkcji init() musisz miec cos takiego jak XMLHttp.request i o tym poczytaj jesli mowimy o tym samym lub poszukaj sobie kursy jquery moze bedzie latwiej

IceManSpy
A po co robić to za pomocą ciastek i AJAXa? Odczytać wartość za pomocą javascript i umieścić na stronie.
Tutaj jest przykład jak to zrobić:
http://www.w3schools.com/JS/js_howto.asp
trzczy
Rzeczywiście ta metoda najprostsza bez cookie i php okazałą się skuteczna dla tego zadania.
Dzięki za cenne rady.
Pozdrawiam
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.