diff options
| -rw-r--r-- | index.html | 1 | ||||
| -rw-r--r-- | js/ui/keys.js | 27 |
2 files changed, 28 insertions, 0 deletions
@@ -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 })() |
