summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-04-14 20:05:57 +0200
committerJules Laplace <julescarbon@gmail.com>2018-04-14 20:05:57 +0200
commit5dda34dcc707afa0cab1bca9ba33572c019e7fc9 (patch)
tree716815f9af4b8f6bcfde645c234603831de44fd9 /js
parentb0ada80bc3a7882ac50c16188004e34061af5845 (diff)
trying to fix viewport woes
Diffstat (limited to 'js')
-rw-r--r--js/ui/keys.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/js/ui/keys.js b/js/ui/keys.js
index 77922c7..c157671 100644
--- a/js/ui/keys.js
+++ b/js/ui/keys.js
@@ -204,6 +204,33 @@ var keys = (function(){
}
}
+ function cancelZoom() {
+ var d = document,
+ viewport,
+ content,
+ maxScale = ',maximum-scale=',
+ maxScaleRegex = /,*maximum\-scale\=\d*\.*\d*/;
+
+ // this should be a focusable DOM Element
+ if (!this.addEventListener || !d.querySelector) {
+ return;
+ }
+
+ viewport = d.querySelector('meta[name="viewport"]');
+ content = viewport.content;
+
+ function changeViewport(event) {
+ // http://nerd.vasilis.nl/prevent-ios-from-zooming-onfocus/
+ viewport.content = content + (event.type == 'blur' ? (content.match(maxScaleRegex, '') ? '' : maxScale + 10) : maxScale + 1);
+ }
+
+ // We could use DOMFocusIn here, but it's deprecated.
+ this.addEventListener('focus', changeViewport, true);
+ this.addEventListener('blur', changeViewport, false);
+ }
+
+ cancelZoom.bind(cursor_input)();
+
return keys
})()