2017-09-22 3 views
0

Dans mon application, je demande à l'utilisateur de ne pas utiliser le bouton de retour du navigateur sur la dernière page. Pour cela, je trouve un moyen de remplacer url existant avec la page actuelle url. donc l'utilisateur restera avec la même page.Rediriger l'itinéraire - quelle est la route des braises?

J'utilise ce JS code:

init(){//writing at init 

     history.pushState(null, null, document.URL); 
     window.addEventListener('popstate', function() { 
      history.pushState(null, null, document.URL); 
     }); 
    }, 

Mais quel est le bon code de Ember pour remplacer le code ci-dessus? Quelle est la bonne façon de faire?

merci d'avance.

+0

Salut, voulez-vous dire que la transition ne doit pas être ajouté à l'histoire? Vous pouvez utiliser 'replaceWith' au lieu de' transitionTo' dans votre application pour cela. – locks

+0

Comment écrire pour une page spécifique? – 3gwebtrain

Répondre

1

Vous pouvez empêcher l'utilisateur de passer à un autre itinéraire au sein de votre application en annulant toute transition effectuée à partir du crochet willTransition de l'itinéraire de votre dernière page. Ajouter quelque chose comme

actions: { 
    willTransition(transition) { 
     transition.abort(); 
    } 
} 

à votre dernier itinéraire de la page

+0

Cela fonctionne dans les transitions au niveau de l'application. Je suis à la recherche d'une solution au niveau du bouton retour du navigateur – 3gwebtrain

+0

Je pense qu'il y a un événement de sortie n'est pas là. Ou événement de fermeture de fenêtre. Ne pouvez-vous pas l'attraper, l'annuler et définir l'emplacement – Epirocks