-
1. Data: 2012-12-13 15:11:53
Temat: HTML - Jak najsprawniej odtworzyć pozycję okna?
Od: Marek <p...@s...com>
Witam,
Chciałbym w jakiś systemowy sposób podejść do zagadnienia odtwarzania
pozycji okna po przeładowaniu się strony. Załóżmy, że ktoś przewinął
sobie stronę wypełniając pola formularza. Klika OK, serwer mieli stronę
i wysyła odpowiedź nie zmieniając URL. Normalnie w takich przypadkach
strona wyświetla się od początku zamiast od miejsca przewinięcia.
Chciałbym napisać jeden moduł programowy "fix position", który
automatycznie przywróci pozycję strony. Kombinuję z dopisywaniem
dynamicznym pól do wszystkich formularzy, badaniu POST przez ten moduł i
ustawianiu jakiś wartości HTML po to aby JS mógł przescrollować stronę.
Czy nie jest to przekombinowane? Jakieś prostsze rozwiązanie istnieje?
-
2. Data: 2012-12-13 15:14:18
Temat: Re: HTML - Jak najsprawniej odtworzyć pozycję okna?
Od: Marek <p...@s...com>
Albo cookies może będzie bardziej proste...
-
3. Data: 2012-12-13 15:35:39
Temat: Re: HTML - Jak najsprawniej odtworzyć pozycję okna?
Od: TOUDIdel <t...@o...pl>
W dniu 13.12.2012 15:14, Marek pisze:
> Albo cookies może będzie bardziej proste...
Cookie złe nie będzię, ale po użyciu jak najszybciej zniszczyć, żeby się
z każdym requestem nie ciągnęło później.
--
td
-
4. Data: 2012-12-13 16:45:01
Temat: Re: HTML - Jak najsprawniej odtworzyć pozycję okna?
Od: NotBear <p...@i...pl>
W dniu 2012-12-13 15:11, Marek pisze:
>Jakieś prostsze rozwiązanie istnieje?
Web storage. Pomiesci wiecej niz cookie i nie lata wte i we w te po sieci.
//zapis przy wysylaniu
sessionStorage.setItem("scrollTop", document.body.scrollTop);
//odczyt po zaladowaniu strony
document.body.scrollTop = sessionStorage.getItem("scrollTop");
+ obsluga sytuacji blednych
+ czyszczenie gdy niepotrzebne
--
NotBear
-
5. Data: 2012-12-13 17:46:37
Temat: Re: HTML - Jak najsprawniej odtworzyć pozycję okna?
Od: HARY <h...@e...invalid>
On Thu, 13 Dec 2012 15:11:53 +0100, Marek wrote:
> Chciałbym napisać jeden moduł programowy "fix position", który
> automatycznie przywróci pozycję strony. Kombinuję z dopisywaniem
> dynamicznym pól do wszystkich formularzy, badaniu POST przez ten moduł i
> ustawianiu jakiś wartości HTML po to aby JS mógł przescrollować stronę.
> Czy nie jest to przekombinowane?
Jest.
> Jakieś prostsze rozwiązanie istnieje?
Tak.
Hint: URL i "fragment".
HARY
--
Polityk jest jak pies, który drapie się tam, gdzie go wcale nie swędzi.
-- Ngame Buka.
-
6. Data: 2012-12-13 20:10:27
Temat: Re: HTML - Jak najsprawniej odtworzyć pozycję okna?
Od: Marek <p...@s...com>
W dniu 2012-12-13 17:46, HARY pisze:
>
> Hint: URL i "fragment".
Masz na myśli przekazywanie GETem pozycji ?
-
7. Data: 2012-12-13 20:11:38
Temat: Re: HTML - Jak najsprawniej odtworzyć pozycję okna?
Od: Marek <p...@s...com>
W dniu 2012-12-13 15:35, TOUDIdel pisze:
> Cookie złe nie będzię, ale po użyciu jak najszybciej zniszczyć, żeby się
> z każdym requestem nie ciągnęło później.
Tak właśnie kombinuję. Hary podpowiada prawdopodobnie GETem
przekazywanie danych. W zasadzie to też dobre podejście.
-
8. Data: 2012-12-14 00:45:43
Temat: Re: HTML - Jak najsprawniej odtworzyć pozycję okna?
Od: Cezary Tomczyk <c...@g...com>
W dniu 2012-12-13 20:10, Marek pisze:
> W dniu 2012-12-13 17:46, HARY pisze:
>>
>> Hint: URL i "fragment".
>
> Masz na myśli przekazywanie GETem pozycji ?
Raczej o to https://developer.mozilla.org/en-US/docs/DOM/window.
location
i właściwość "hash".
--
Cezary Tomczyk
http://www.ctomczyk.pl/
-
9. Data: 2012-12-29 22:08:01
Temat: Re: HTML - Jak najsprawniej odtworzyć pozycję okna?
Od: "Gabriel Zastawnik" <z...@p...fm>
Użytkownik "Marek" napisał w wiadomości grup
dyskusyjnych:kad973$vdq$...@n...news.atman.pl...
> > Hint: URL i "fragment".
> Masz na myśli przekazywanie GETem pozycji ?
Zalozmy ze masz kod:
<html>
<head />
<body>
costam
costam
costam
<tu twoj formularz ktoremu nadaj id="formularz" i ktory submitujesz>
costam
costam
costam
</body>
</html>
Jak juz wyslesz formularz i on cos tam przemieli, to pozniej w
php/asp/whatever daj przekierowanie "strona.html#formularz" to cie
przeniesie do formularza.
Oczywiscie w/w dziala w przypadku tego formularza.
Jak potrzebujesz cos innego, to w js zapamietaj sobie pozycje okna i na
przyklad ajaxem zapisuj nieustannie do cookie.
Zawsze sie cos da wymyslec.
-- --
Gabriel Zastawnik
http://www.sigsoft.pl
http://www.monitoringkomputera.pl
-
10. Data: 2012-12-30 21:15:54
Temat: Re: HTML - Jak najsprawniej odtworzyć pozycję okna?
Od: Marek <p...@s...com>
W dniu 2012-12-29 22:08, Gabriel Zastawnik pisze:
> Jak juz wyslesz formularz i on cos tam przemieli, to pozniej w
> php/asp/whatever daj przekierowanie "strona.html#formularz" to cie
> przeniesie do formularza.
To nie zadziała. Coś takiego stosowałem do niedawna. Jeśli ktoś
przewinął sobie formularz tak, że jego początek wypadł w połowie
wysokości okna przeglądarki, to po wykonaniu w/w formularz przewinie się
o pół ekranu do góry.
> Jak potrzebujesz cos innego, to w js zapamietaj sobie pozycje okna i na
> przyklad ajaxem zapisuj nieustannie do cookie.
> Zawsze sie cos da wymyslec.
Póki co poradziłem sobie łatwiej. Robię to banalnie - za pomocą kilku
linii w JS bez Ajaxa bo on tu raczej zastosowania nie ma. W zdarzeniu
onUnload zapisuję pozycję okna w cookies, w onLoad odczytuję to cookies,
kasuję natychmiast, sprawdzam czy plik (URL bez parametrów) zapisujący
był tym samym co odczytujący i jeśli tak, to przywracam pozycję okna.