448 Stimmen

Wie kann ich den Zoom auf einer mobilen Webseite "deaktivieren"?

Ich erstelle eine mobile Webseite, die im Grunde ein großes Formular mit mehreren Texteingaben ist.

Allerdings wird (zumindest auf meinem Android-Handy) jedes Mal, wenn ich auf eine Eingabe klicke, die gesamte Seite vergrößert, wodurch der Rest der Seite verdeckt wird. Gibt es einen HTML- oder CSS-Befehl, um diese Art von Zoom auf mobilen Webseiten zu deaktivieren?

44voto

Benny Neugebauer Punkte 45468

Sie können verwenden:

<head>
  <meta name="viewport" content="target-densitydpi=device-dpi, initial-scale=1.0, user-scalable=no" />
  ...
</head>

Bitte beachten Sie aber, dass bei Android 4.4 die Immobilie target-densitydpi wird nicht mehr unterstützt . Daher wird für Android 4.4 und höher das Folgende als bewährte Praxis empfohlen:

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

17voto

Sarath Ak Punkte 6425

Versuchen Sie bitte, diesen Meta-Tag und Stil hinzuzufügen

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

<style>
body{
        touch-action: manipulation;
    }
</style>

12voto

tlt Punkte 189

Mögliche Lösung für Webanwendungen: Während das Zoomen in iOS Safari nicht mehr deaktiviert werden kann, sie wird deaktiviert, wenn die Website über eine Verknüpfung auf dem Startbildschirm geöffnet wird.

Fügen Sie diese Meta-Tags hinzu, um Ihre App als "Web-App-fähig" zu deklarieren:

    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" >
    <meta name="apple-mobile-web-app-capable" content="yes" >

Cependant sólo Verwenden Sie diese Funktion, wenn sich Ihre App selbst trägt, da die Schaltflächen zum Vorwärts- und Rückwärtsgehen, die URL-Leiste und die Freigabeoptionen deaktiviert sind. (Sie können jedoch immer noch nach links und rechts streichen) Dieser Ansatz ermöglicht jedoch eine App-ähnliche Benutzeroberfläche. Der Vollbildbrowser wird nur gestartet, wenn die Website vom Startbildschirm aus geladen wird. Außerdem funktionierte es erst, nachdem ich ein apple-touch-icon-180x180.png in meinen Root-Ordner eingefügt hatte.

Als Bonus sollten Sie wahrscheinlich auch eine Variante davon einbeziehen:

<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">

12voto

Prem Punkte 103
<script type="text/javascript">
document.addEventListener('touchmove', function (event) {
  if (event.scale !== 1) { event.preventDefault(); }
}, { passive: false });
</script>

Bitte fügen Sie das Skript zum Deaktivieren von Aufziehen, Antippen und Fokussieren des Zooms hinzu

3voto

Kasumi Gunasekara Punkte 525

Sie können diese Aufgabe erfüllen, indem Sie einfach das folgende "Meta"-Element in Ihren "Kopf" einfügen:

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

Das Hinzufügen aller Attribute wie "width", "initial-scale", "maximum-width", "maximum-scale" funktioniert möglicherweise nicht. Fügen Sie daher einfach das obige Element hinzu.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X