summaryrefslogtreecommitdiff
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
parentb0ada80bc3a7882ac50c16188004e34061af5845 (diff)
trying to fix viewport woes
-rw-r--r--index.html1
-rw-r--r--js/ui/keys.js27
2 files changed, 28 insertions, 0 deletions
diff --git a/index.html b/index.html
index c822bb2..59bb2f1 100644
--- a/index.html
+++ b/index.html
@@ -3,6 +3,7 @@
<head>
<meta charset="UTF-8">
<title>asciiblaster</title>
+<meta name="viewport" content="width=device-width,initial-scale=device-width">
<link rel="stylesheet" href="css/sally.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="css/ak.css" type="text/css" charset="utf-8" />
</head>
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
})()