Javascript - How zu stoppen, pinch-zoom, multi-touch-input-Attacken?
Aktuellen Google-chrome-stable-version manuell gestoppt blockieren, pinch-zoom, was möglich war in älteren Versionen mit folgenden Einstellungen:
chrome://flags/#enable-pinch
Ich bin immer Angriffe in meinem kiosk von einigen zufälligen pinch-zoom/multi-touch-Eingaben.
Wie erkennen Sie, JavaScript zu deaktivieren, pinch-zoom/multi-touch? (vor dem kiosk)
Ich habe versucht, nach aber nichts hindert den kiosk von ignorieren pinch-zoom-Angriffe.
$(document).ready(function() {
$(document).bind('contextmenu', function() {
console.log('NO NO NO. STOP!!!');
window.location.reload();
return false;
});
$(document).mousedown( function() {
console.log('NO NO NO. STOP!!!');
return false;
});
});
EDIT:
chrome://flags/#enable-pinch
- nie mehr in Google chrome. Google sollte nicht entfernt werden, und die Gemeinschaft sollte protestiert haben, nicht zu haben es entfernt.
- Was meinst du mit "Angriffen"?
- Ich versuchte auch --disable-Klemmen aber kein Glück zu blockieren, pinch-zoom. Ich habe kiosk im Bahnhof, wo Schüler, beliebig viele öffentliche Benutzer sind, vorbei an den kiosk. Sie setzen den kiosk im pinch-zoom auf 100%. Und aus der Ferne Sie nicht zurücksetzen, es sei denn, Sie manuell neu starten, den gesamten kiosk. Jede Stunde, in dem es geschah, und der kiosk ist zu weit, um dies zu tun verpasst. seine pinch-zoom-Angriff. in der alten version gab Schutz, aber jetzt nicht mehr.
- Bitte kommen Sie mit einer Lösung. Google chrome community entfernt es dauerhaft und sehr stolz darüber, ohne Angabe von alternativen zu den Menschen, die Probleme haben jetzt. siehe: bugs.chromium.org/p/chromium/issues/detail?id=613873
- kannst du bitte die Frage, die bounty, zu verbreiten, zu viele? es ist wichtig, um eine Antwort auf diese. Denn es hat sich schon seit Ewigkeiten und nun ohne Ankündigung seine entfernt, ohne jegliche alternative.
- chrome://flags/#touch-events versuchen Sie dieses flag setzen
- chrome://flags/#touch-Ereignisse - es deaktivieren Sie die gesamte touch-screen. in der Vergangenheit das zwei-Finger-zoom war es möglich, zu deaktivieren. per Kommandozeilen-argument oder Fahnen. aber jetzt haben Sie die Ausrede, dass die Fahnen entfernt werden kann jederzeit, ohne Warnung. aber Nein, wo es erwähnt wurde Kommandozeilen-Argumente werden ebenfalls ohne Vorwarnung entfernt. Können Sie bitte mehr details, wie man dann deaktivieren Sie die zwei-Finger-zoom nur?
- Nicht
<meta name="viewport" content="width=device-width, user-scalable=no">
Arbeit?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du sollte in der Lage sein, zu verhindern, dass Benutzer Zoomen durch hinzufügen dieses meta-Tags zu Ihren
<head>
:Meine version von Google Chrome
Version 51.0.2704.84 (64-bit)
, respektiert diese Einstellung, wenn ich es testen mit seiner touch-emulation in die Entwickler-tools.Beispiel:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, user-scalable=no">
Möchte ich anmerken, dass Ihre Benutzer ein-und Auszoomen sollte nicht als ein "Angriff". Das Zoomen ist sehr wichtig für Menschen mit schlechten Augen (oder sehbehinderte, ich bin mir nicht sicher, was der korrekte und höfliche englische Begriff wäre).
Wenn Sie deaktivieren Sie die Natürliche zoom-Verhalten, Sie tragen die volle Verantwortung für die Lesbarkeit Ihrer web-Seite.
Ich weiß nicht, ob das zählt als eine volle Antwort, aber ich habe nicht die rep Kommentar.
Eine Möglichkeit ist, legen Sie eine Prozedur für touch-events
window.addEventListener("touchstart", touchHandler, false);
und schreiben Sie dann eine touchHandler FunktionHier ist etwas mehr info über die Entwicklung mit touch-Ereignisse
https://mobiforge.com/design-development/html5-mobile-web-touch-events
Eingestellt werden muss der handler für unterschiedliche touch-Ereignis zu verhindern, dass die Standard-pinch-zoom-Verhalten, je nach browser.
Eine Liste finden Sie hier: http://www.quirksmode.org/mobile/default.html
Ich weiß nicht, ob dies für Sie zu arbeiten, aber es könnte einen Versuch Wert sein.
Angenommen, Sie führen den kiosk, die auf einem PC gibt es keine Möglichkeit, programmgesteuert aus einer web-Anwendung.
Müssen Sie deaktivieren Sie die multi-touch-gesten-Unterstützung-entweder in Ihrem touch-Gerät Einstellungen im Treiber oder im Betriebssystem einstellen. Hier ist ein gutes Beispiel - Windows 7 touch-screen - deaktivieren von multi-touch-Geste funktioniert nicht
Dies ist, wie Sie verhindern, dass das Zoomen in Chrome:
Vielleicht mit Ausnahme einiger element
hi hier ist mein Vorschlag .Versuchen, macht es Sinn, wenn es mehrere Eingänge und die machen es durchschnittlich Sie aus, stehen im Beispiel für finger man (10,20), und zwei finger auf dem (20,10) es ist gemittelt (15,15).Leider konnte ich nur raten, Ideen und nicht um code danke
Fanky ' s Antwort funktioniert bei mir (Opera im kiosk-Modus), außer, dass ich touchmove statt touchstart. Und halten Sie die Schieberegler funktioniert, fügen Sie ein spezifisches Hörer auf, sobald sich an, von Fanky.