Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js][html] opuszczanie serwisu
Szkodnik95
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.09.2016

Ostrzeżenie: (0%)
-----


Witam,

Posiadam stronę na której funkcjonuje kilka podstron.

Chciałbym wstawić skrypt który będzie pytał użytkownika czy jest pewien że chce zamknąć stronę.
Udało mi się znaleźć coś takiego:

Kod
        <script>
        window.onbeforeunload = function (wyjscie) {
        var strona = location.pathname;
        var re = "kopia"; // łańcuch string
        var a = strona.match(re);
        if (a==re)
        { return false }
        else {
         if (typeof wyjscie == 'undefined') {
           wyjscie = window.event;
         }
         if (wyjscie) {
           if(!confirm('Czy chcesz opuścić tę stronę')) return false
         }
        }
    }
    </script>


Niestety ten skrypt działa również gdy użytkownik przemieszcza się między podstronami, a tego chciałbym uniknąć.

Dopiero zaczynam swoją przygodę z js i html, dlatego proszę o wyrozumiałość.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


https://fiddle.jshell.net/larryjoelane/qvm7eqvn/
Go to the top of the page
+Quote Post
Szkodnik95
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.09.2016

Ostrzeżenie: (0%)
-----


Czyli ten kod który mam teraz muszę zamienić z tym https://fiddle.jshell.net/larryjoelane/qvm7eqvn/ ? dobrze rozumiem ?
Go to the top of the page
+Quote Post
!*!
post
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Tak, musisz też dodać do strony bibliotekę jQuery
Go to the top of the page
+Quote Post
Comandeer
post
Post #5





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Hm, ale przecież przekierowań to nie wyłapie. Jedyne, co to robi, to wykrycie naciśnięcia F5.
Go to the top of the page
+Quote Post
!*!
post
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Wykrywa też czy zamykasz okno, ale fakt zapomniałem o przechodzeniu na inne podstrony. Wystarczy zrobić ciastko które będzie sprawdzane w przypadku kliknięcia w link
Go to the top of the page
+Quote Post
trueblue
post
Post #7





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Może tak?

  1. var outsideBody=true;
  2. var isRefresh=false;
  3.  
  4. window.onbeforeunload=function () {
  5. if(outsideBody&&!isRefresh){
  6. return "Are you sure you want to leave?";
  7. }
  8. }
  9. document.addEventListener('mouseover',function(e){
  10. outsideBody=false;
  11. });
  12. document.addEventListener('mouseleave',function(e){
  13. outsideBody=true;
  14. });
  15. document.addEventListener('keydown',function(e){
  16. if(e.which===116||(e.ctrlKey&&e.which===82)){
  17. isRefresh=true;
  18. }
  19. });


Ten post edytował trueblue 3.09.2016, 10:48:01
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 01:28