Pinch-Zoom im mobilen Web deaktivieren

Lesezeit: 4 Minuten

Benutzer-Avatar
Harsha MV

Ich möchte Pinch and Zoom auf Mobilgeräten deaktivieren.

Welche Konfiguration sollte ich dem Ansichtsfenster hinzufügen?

Verknüpfung : http://play.mink7.com/n/dawn/

  • Ich hoffe, Sie erstellen keine Website für eine in Großbritannien ansässige Organisation – wenn Sie dies tun, würden Sie durch Deaktivieren von Pinch-to-Zoom (im Grunde eine Barrierefreiheitsfunktion) gegen mehrere Gesetze verstoßen, die Menschen mit Sehbehinderungen aktiv diskriminieren … Es gibt nie einen guten Grund, diese Funktion zu deaktivieren … jemals!

    – Mike Insch

    9. Juli 2013 um 20:18 Uhr

  • Nicht immer eine schlechte Idee. Wenn Sie eine App wie eine Webseite erstellen, würde ich das tun. Sie können den App Store nicht immer verwenden, daher ist dies die nächstbeste Lösung.

    – Schumi

    10. Juli 2013 um 22:28 Uhr

  • Bitte hör auf damit. Sehbehinderte können Websites nicht anzeigen, ohne sie zu vergrößern, und dies macht unser Leben viel schwieriger.

    – Jack Marchetti

    21. November 2013 um 2:13 Uhr

  • Könnten Sie sich vorstellen, eine App im „Google Maps“-Stil zu erstellen, und wenn Sie das erste Mal zum Vergrößern zusammenziehen, können Sie das TEXTEINGABEFELD nicht mehr sehen? Oder die COPYRIGHT-SYMBOLE? Manchmal möchten Sie nicht, dass die GESAMTE APP zoomt. Manchmal möchten Sie nur, dass ein TEIL DAVON gezoomt wird.

    – Ayelis

    23. April 2015 um 21:07 Uhr


  • Wenn Sie eine responsive Single-Page-Webanwendung entwerfen, stört der Pinch-Zoom (auch automatischer Zoom) den Arbeitsablauf erheblich, da der Browser automatisch hineinzoomt, wenn Sie versehentlich auf eine leere Stelle doppelklicken.

    – Turm Jimmy

    7. Juni 2015 um 8:18 Uhr

Benutzer-Avatar
WeltraumBiere

BEARBEITEN: Da dies immer wieder kommentiert wird, wissen wir alle, dass wir das nicht tun sollten. Die Frage war wie mache ich es, nicht sollte Ich tue es.

Fügen Sie dies zu Ihrem für mobile Geräte hinzu. Dann machen Sie Ihre Breiten in Prozent und alles wird gut:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

Fügen Sie dies für Geräte hinzu, die Viewport nicht verwenden können:

<meta name="HandheldFriendly" content="true" />

  • das habe ich hinzugefügt. aber ich kann immer noch kneifen und zoomen.

    – Harsha MV

    27. Juli 2012 um 14:12 Uhr

  • Was ist der Unterschied zwischen diesem und stackoverflow.com/a/4472910/198348 ?

    – Ehtesh Choudhury

    31. August 2013 um 8:44 Uhr

  • @Shurane Das sind andere Fragen?

    – SpaceBeers

    31. August 2013 um 11:54 Uhr

  • Warum um alles in der Welt würdest du das tun?

    – Karlth

    12. Dezember 2014 um 11:17 Uhr

  • 2019: PWAs sind jetzt eine Sache und dies ist eine Lösung, um zu verhindern, dass PWAs auf Mobilgeräten seltsames Verhalten zeigen 🙂

    – Jessie

    25. Januar 2019 um 0:56 Uhr

Benutzer-Avatar
Trias

Dies verhindert jegliche Zoom-Aktion durch den Benutzer in iOS Safari und verhindert auch die Funktion „Zoom to tabs“:

document.addEventListener('gesturestart', function(e) {
    e.preventDefault();
    // special hack to prevent zoom-to-tabs gesture in safari
    document.body.style.zoom = 0.99;
});

document.addEventListener('gesturechange', function(e) {
    e.preventDefault();
    // special hack to prevent zoom-to-tabs gesture in safari
    document.body.style.zoom = 0.99;
});

document.addEventListener('gestureend', function(e) {
    e.preventDefault();
    // special hack to prevent zoom-to-tabs gesture in safari
    document.body.style.zoom = 0.99;
});

jsfiddle: https://jsfiddle.net/vo0aqj4y/11/

  • Dies funktionierte auf macOS Safari und document.body.style.zoom = 0,99; war gar nicht nötig.

    – Kevin Baragona

    20. August 2020 um 19:42 Uhr

Das ist alles, was ich brauchte:

<meta name="viewport" content="user-scalable=no"/>

Allen, die sagen, dass dies eine schlechte Idee ist, möchte ich sagen, dass es nicht immer eine schlechte ist. Manchmal ist es sehr langweilig, herauszoomen zu müssen, um den gesamten Inhalt zu sehen. Wenn Sie beispielsweise eine Eingabe auf iOS eingeben, wird gezoomt, um sie in die Mitte des Bildschirms zu bringen. Sie müssen danach herauszoomen, da das Schließen der Tastatur nicht funktioniert. Ich stimme auch zu, dass Sie, wenn Sie viele Stunden in die Erstellung eines großartigen Layouts und einer großartigen Benutzererfahrung investieren, nicht möchten, dass es durch einen Zoom durcheinander gebracht wird.

Aber auch das andere Argument ist für Menschen mit Sehproblemen wertvoll. Wenn Sie jedoch Probleme mit Ihren Augen haben, verwenden Sie meiner Meinung nach bereits die Zoomfunktionen des Systems, sodass der Inhalt nicht gestört werden muss.

Leider funktioniert die angebotene Lösung nicht in Safari 10+, da Apple sich entschieden hat, sie zu ignorieren user-scalable=no. Dieser Thread enthält weitere Details und einige JS-Hacks: Viewport-Zoom deaktivieren iOS 10+ Safari?

Benutzer-Avatar
Herr Unglaublich

Ich denke, wonach Sie suchen, ist die CSS-Eigenschaft Touch-Aktion. Sie brauchen nur eine CSS-Regel wie diese:

html, body {touch-action: none;}

Sie werden sehen, dass es eine ziemlich gute Unterstützung hat (https://caniuse.com/#feat=mdn-css_properties_touch-action_none), einschließlich Safari, sowie zurück zu IE10.

Benutzer-Avatar
AymDev

Gefunden hier Sie können verwenden user-scalable=no:

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">

1320090cookie-checkPinch-Zoom im mobilen Web deaktivieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy