IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Interdire le refresh d'une page


Sujet :

JavaScript

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut Interdire le refresh d'une page
    Bonjour,

    Je souhaiterais utiliser Javascript pour interdire le refresh d'une page.
    Je m'explique, j'ai une application (Webapp HTML5) et je souhaiterais interdire à l'utilisateur de faire un refresh, sur android google chrome cela correspond a un glisser vers le bas.

    Pouvez vous me dire si cela est possible et si oui comment faire, si non avez vous une astuce ?

    j'ai bien essayer le le beforeonload (qui marche), mais le resultat ne me satisfait pas.

    merci de votre aide

  2. #2
    Membre confirmé Avatar de 01001111
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 319
    Points : 509
    Points
    509
    Par défaut
    Dans quelle optique souhaites-tu interdire ça?

    car on peut désactiver javascript, si c'est pour des raisons de sécurité, il faut passer par un autre moyen, plutôt côté serveur, ou forcer l'usage de javascript en n'affichant rien si javascript n'est pas activé.

    je ne connais pas d'alternative à onbeforeunload
    pense aussi à désactiver les touches de refresh si le site peut être chargé sur un périphérique à clavier, un preventDefault sur l'évènement keydown et c'est bon
    F5 sur pc
    cmd+R sur mac
    0x4F

  3. #3
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    C'est bien évidemment impossible, et encore heureux que l'utilisateur peut se servir de son navigateur comme il l'entend.

    Tu peux peut-être faire quelque-chose pour le glissé vers le bas sur Android en interceptant l'évènement tactile, mais l'utilisateur pourra toujours recharger via la barre d'URL.
    One Web to rule them all

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Moi je veux empêcher les développeurs d'utiliser LEUR clavier.

    A+JYT

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    merci de vos réponse,

    en fait je ne veux pas empêcher les utilisateurs d'utiliser les fonctionnalités de leurs appareil, mais j'ai mis en place un système qui fonctionne avec une connexion internet et sans connexion internet (cache, localstorage etc..)

    le problème est que lorsque le smartphone est hors connexion (mde avion par exemple) si il fait un refresh, ou "glisser vers le bas" alors le webveiw fait automatiquement un reload et si l'utilisateur est hors connexion alors le message page non trouvé apparait.

    C'est pour cette raison que je demandais, j'ai bien le beforeonload mais le résultat n'est pas terrible, en fait je veux faire que sur cette webapp (version smartphone), il ne soit pas possible de faire un reload, refresh .

    merci

  6. #6
    Membre confirmé Avatar de 01001111
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 319
    Points : 509
    Points
    509
    Par défaut
    La seule solution qui te reste dans ce cas, c'est d'implémenter une webview avec webkit dans une app ios ou android, qui serait un navigateur limité en fonctionnalités qui se connecte sur ton application web.
    Mais je ne vois pas l'intérêt juste pour éviter un not found.
    Comme l'on dit les autres il est impossible de faire autrement.
    0x4F

  7. #7
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Non en fait c'est tout à fait possible d'avoir des web apps offline, qui se rechargent après un F5 et même après un redémarrage des navigateurs/appareils. Il y a deux technos pour ça, la plus ancienne et mieux supportée applicationCache, et la plus récente et puissante les Service Workers. Google a énormément parlé des Service Workers ces derniers jours à la Google IO avec ce qu'il appelle des Progressive Web Apps : http://www.developpez.com/actu/94227...tions-natives/

    Essaie celle du Washington post en mode avion sur ton mobile : https://www.washingtonpost.com/pwa/

    J'ai déjà codé plusieurs web apps offline avec l'applicationCache et ça marche très bien, y compris sur les navigateurs mobiles.
    One Web to rule them all

  8. #8
    Membre confirmé Avatar de 01001111
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 319
    Points : 509
    Points
    509
    Par défaut
    oups! mea culpa, j'avais omis la veille techno sur ce point. Apparemment les service workers sont une techno toute jeune qui n'est pas encore implémentée partout. IE et Safari pour exemple, ne les gèrent pas.
    0x4F

Discussions similaires

  1. pb refresh d une page
    Par aliboura dans le forum ASP
    Réponses: 6
    Dernier message: 21/11/2007, 22h32
  2. Interdire le redimensionnement d'une page
    Par baillador dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/09/2007, 16h50
  3. Interdire l'impression d'une page web
    Par amel666 dans le forum Sécurité
    Réponses: 7
    Dernier message: 26/06/2007, 09h36
  4. [Struts]Refresh d'une page jsp
    Par amandine35 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/09/2005, 16h36
  5. desactiver refresh d'une page
    Par letudiant1 dans le forum ASP
    Réponses: 2
    Dernier message: 03/08/2005, 09h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo