2013-09-30 3 views
3

J'essaie de désactiver le balayage de navigation. Je ne veux pas que la page Web revienne ou avance lorsque l'utilisateur balaie vers la gauche ou vers la droite.Désactiver Navigation Swipe dans Metro IE

J'ai remarqué que nous pouvons définir l'action tactile à aucun sur l'élément html empêchant le comportement. Cependant, lors du défilement d'un élément enfant qui a un débordement, il va "enchaîner" le défilement, puis permettra la navigation arrière.

J'ai donc pensé à ajouter -ms-scroll-chaining: none sur l'élément html, mais cela ne fonctionne que si l'élément défile. Donc ajouter un débordement: faites défiler sur html fait l'affaire. Mais maintenant j'ai des barres de défilement sur mes autres navigateurs.

Quelle est la bonne façon de procéder?

html { 
     -ms-touch-action: none; /* Doesn't work if scrolling from child element */ 
     -ms-scroll-chaining: none; /* Works only with the next line */ 
     overflow: scroll; /* With this line all the other browsers have a scrollbar */ 
    } 
+1

Ce n'est pas une bonne idée de prendre le contrôle des navigateurs des peuples et essayer de désactiver des fonctionnalités spécifiques. Surtout on aime la navigation et l'histoire. Mais je peux vous dire que vous pouvez regarder dans les API d'histoire de HTML5 en javascript et détecter l'événement de navigation. – CP510

Répondre

4

je ceci:

@media screen and (-ms-high-contrast: none) { 
    // Windows 8+ IE only 
    html { 
     overflow-x: scroll; 
     -ms-touch-action: none; 
     -ms-overflow-style: none; 
     -ms-scroll-chaining: none; 
    } 
} 
0

Avez-vous essayé

body, html { 
    -ms-touch-action:none; 
} 

et pour toutes les classes qui peuvent être défilée (Y - axe) appliquer

-ms-scroll-chaining: none;

Dans mon projet, nous avons la classe spéciale pour faire défiler ce est confortable:

.scroll-y { 
    overflow-y: auto; 
    overflow-x: hidden; 
    -ms-scroll-chaining: none; 
} 

a marché pour moi

+0

C'est trop contraignant. Je veux toujours -ms-scroll-chaining pour travailler sur mes éléments. Le chaînage est bon et important sur un site Web. – jsgoupil

Questions connexes