diff options
| author | Jules <jules@asdf.us> | 2018-04-14 14:10:31 -0400 |
|---|---|---|
| committer | Jules <jules@asdf.us> | 2018-04-14 14:10:31 -0400 |
| commit | e4c9ba0d01b4e28653d9802328a523e97a2208ab (patch) | |
| tree | d4c646e64ca623b55203eaab71f7a8e815b92b12 /js | |
| parent | cbb7c093e5f5f64d5e8b29da84cf470d6eb95024 (diff) | |
| parent | 1a3cc59688251520d5e5c08f82ab2aa01c44e1a7 (diff) | |
Merge branch 'master' of asdf.us:ascii
Diffstat (limited to 'js')
| -rw-r--r-- | js/ui/keys.js | 27 |
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 })() |
